我找不到任何文档来确认这一点,但您似乎只能调用该方法
StringByEvaluatingJavaScriptfromString
在uiWebView委托的重写方法中。有人能证实这一点吗?
这是我试过的。我在视图上设置了一个按钮,将它链接到视图控制器上的一个方法,并确保它正常工作。我的视图上也有一个uiWebView控件。如果我在模拟器或iPhone上运行这个项目,就没有问题。然后我将此代码添加到按钮的方法中。
[theWebView stringByEvaluatingJavaScriptFromString:@"alert('Hi there!');"];
当我运行项目时,我可以单击该按钮并看到“hi there”提示,然后单击“OK”将其取消。通常4-5秒后模拟器崩溃。我偶尔会看到
"__TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION__"
错误,但不一致;有时没有错误。它也不总是第一次崩溃。有时我会转到另一个页面,然后再试一次,它就会崩溃。
如果我在WebpageDidFinishLoad事件中放入相同的代码,它会正常工作。但我希望在用户要求时调用代码,这样事件就不适合我的需要。
如果你有什么想法,我愿意接受一个变通办法?事先谢谢!