Swift-在每个页面上执行Javascript
我有一个UIWebView,我将一个HTML文件传递给它加载 HTML文件包含查找变量存在性的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在加载页面之前设置变量。
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)';")
}