Swift ...在运行时更改.js文件的变量

时间:2015-02-07 12:05:46

标签: ios xcode swift

正在处理具有WKwebview的IO应用程序,我将配置设置为注入.js文件。

这是我的javascript文件。

var User = ""
var Pass = ""

document.getElementsByName('username')[0].value = User
document.getElementsByName('password')[0].value = password
submitButton()

现在,当我手头提供变量值时代码运行完美。 但是我试图稍后从NSUserDefualts更改User和Pass的值,但我不知道从哪里开始。

我试着在没有帮助的情况下玩javascript框架。

任何想法或方向都会受到高度赞赏。

感谢名单

1 个答案:

答案 0 :(得分:0)

我设法解决问题,而不是注入javascriptfile路径,我通过保存用户并在NSUserDefaults中传递变量并从我的UIViewController中的方法运行javascript

代码不漂亮,但它的工作原理如下:

// the passed would be stored in NSUserDefaults

let passwd = "test"

// passEdited simply adds ' ' to the passwd you can just add them to the passwd variable but i like to see every step i am taking
let passEdited = "'" + passwd  +"'"

// this is the actual java code i would like to run
var passJS = "document.getElementByName('password')[0].value =" + passEdited

// check for correct Url before running the java code
if webView.URL?.absoluteString == "www.YOURWEBSITE" {
webView.evaluteJavaScript(passJS, completionHandler: nil)