我有一个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位来加载下一页? 也许像全局变量这样的东西总是可以访问?
谢谢。