Swift - 在每个页面上执行Javascript

时间:2015-07-08 06:12:40

标签: javascript html ios swift uiwebview

我有一个UIWebView,我将HTML文件传递给它。

HTML文件包含查找变量存在的javascript。 如果它存在,则执行一个操作,如果该变量不存在,则脚本执行另一个操作。

if(typeof customVar === 'undefined')
  //Perform task1
else
  // Perform task 2 using customVar

在本机上,我使用函数stringByEvaluatingJavaScriptFromString在页面加载之前设置变量。 为此,我在webViewDidStartLoad中设置代码(我也尝试将其放在shouldStartLoadWithRequest中)。

func webViewDidStartLoad(webView: UIWebView)
{
    let cutVar = "test"
    webView.stringByEvaluatingJavaScriptFromString("customVar = '\(cutVar)';")
}

第一次加载页面时这很有效,但只是第一次。 之后,似乎通过webViewDidStartLoad,我们在当前页面中重新分配变量,然后重新加载页面本身。 这意味着,重新加载页面时不需要设置变量。

有没有办法说我想运行javascript位来加载下一页? 也许像全局变量这样的东西总是可以访问?

谢谢。

0 个答案:

没有答案