且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

自动填充用户名和密码UIWebView Swift

更新时间:2023-09-28 21:17:10

这是对您提供的代码的简单快速转换。 SStringByEvaluatingJavaScriptFromString已经使用不同的javascript进行了测试,并且工作正常。

Here is a simple swift conversion of your provided code. SStringByEvaluatingJavaScriptFromString has been tested using different javascript and works correctly.

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)
    }
}