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 然后使用桥接头包含它们: #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) } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |