Swift-在每个页面上执行Javascript

Swift-在每个页面上执行Javascript,javascript,html,ios,swift,uiwebview,Javascript,Html,Ios,Swift,Uiwebview,我有一个UIWebView,我将一个HTML文件传递给它加载 HTML文件包含查找变量存在性的javascript。 如果变量存在,则执行一个操作;如果变量不存在,则脚本执行另一个操作 if(typeof customVar === 'undefined') //Perform task1 else // Perform task 2 using customVar 在本机上,我使用函数stringByEvaluatingJavaScriptFromString在加载页面之前设置变量。

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

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

if(typeof customVar === 'undefined')
  //Perform task1
else
  // Perform task 2 using customVar
在本机上,我使用函数stringByEvaluatingJavaScriptFromString在加载页面之前设置变量。 为此,我在webViewDidStartLoad中设置代码(我还尝试将其放置在shouldStartLoadWithRequest中)

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

有没有一种方式可以说我想运行javascript位以便下一个页面加载? 也许像全局变量这样的东西总是可以访问的


谢谢。

shouldStartLoadWithRequest将为webview尝试加载的每个请求调用。。如果你试过了,但仍然不起作用,我会验证html/JS,看看是怎么回事javascript基本上就是我在描述中提到的。它从检查变量的存在开始,形成第二个负载,它说它不存在。。。
func webViewDidStartLoad(webView: UIWebView)
{
    let cutVar = "test"
    webView.stringByEvaluatingJavaScriptFromString("customVar = '\(cutVar)';")
}