加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

wkwebview自动填写登录表格swift 2

发布时间:2020-12-14 04:45:51 所属栏目:百科 来源:网络整理
导读:我是斯威夫特世界的新人.我有一个大问题…… 我试过写一个只有一个WKWebView的应用程序.它就像一个Web浏览器. 应用程序应该能够从对象或列表中自动填充LogIn字段.但出于测试原因,我已将登录数据放入变量中. class ViewController: UIViewController,WKNaviga
我是斯威夫特世界的新人.我有一个大问题……
我试过写一个只有一个WKWebView的应用程序.它就像一个Web浏览器.
应用程序应该能够从对象或列表中自动填充LogIn字段.但出于测试原因,我已将登录数据放入变量中.

class ViewController: UIViewController,WKNavigationDelegate{

// Zug?nge
let pw : String = "test"
let bn : String = "test@test.com"
// Adresse
let adresse : String = "https://www.facebook.com"

var webView: WKWebView!

func webView(webView: WKWebView,didFinishNavigation navigation: WKNavigation!) {
    title = webView.title
}
override func loadView() {
    webView = WKWebView()
    webView.navigationDelegate = self
    view = webView
}


override func viewDidLoad() {
    super.viewDidLoad()
    let url = NSURL(string: adresse)!
    webView.loadRequest(NSURLRequest(URL: url))
    webView.allowsBackForwardNavigationGestures = true

}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

}

我认为这是可能的JS,但我不知道如何.

有什么方法可以解决我的问题吗?

解决方法

这实际上可以使用1Password

添加扩展文件:

> OnePasswordExtension.h
> OnePasswordExtension.m

然后使用桥接头包含它们:

#import "OnePasswordExtension.h"

最后,您可以在项目中使用以下内容

@IBAction func onePassword_btn(sender: AnyObject) {
OnePasswordExtension.sharedExtension().fillLoginIntoWebView(self.webView,forViewController: self,sender: sender,completion: {(Bool) in
// error handling
})
}

这是link到1Password

这是reference

或者你可以这样试试

func webViewDidFinishLoad(webView: UIWebView!) {

    let savedUsername = NSUserDefaults.standardUserDefaults().stringForKey("USERNAME")
    let savedPassword = NSUserDefaults.standardUserDefaults().stringForKey("PASSWORD")

    if savedUsername == nil || savedPassword == nil {return}

    if ( countElements(savedUsername!) != 0 && countElements(savedPassword!) != 0) {
        let loadUsernameJS = "var inputFields = document.querySelectorAll("input[name='username']");  for (var i = inputFields.length >>> 0; i--;) { inputFields[i].value = '(savedUsername)';}"
        let loadPasswordJS = "var inputFields = document.querySelectorAll("input[name='password']");  for (var i = inputFields.length >>> 0; i--;) { inputFields[i].value = '(savedPassword)';}"

        self.webview.stringByEvaluatingJavaScriptFromString(loadUsernameJS)
        self.webview.stringByEvaluatingJavaScriptFromString(loadPasswordJS)
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读