代码之家  ›  专栏  ›  技术社区  ›  Ken Pespisa

从按钮调用uiWebView上的StringByEvaluatingJavaScriptfromString时崩溃

  •  1
  • Ken Pespisa  · 技术社区  · 15 年前

    我找不到任何文档来确认这一点,但您似乎只能调用该方法 StringByEvaluatingJavaScriptfromString 在uiWebView委托的重写方法中。有人能证实这一点吗?

    这是我试过的。我在视图上设置了一个按钮,将它链接到视图控制器上的一个方法,并确保它正常工作。我的视图上也有一个uiWebView控件。如果我在模拟器或iPhone上运行这个项目,就没有问题。然后我将此代码添加到按钮的方法中。

    [theWebView stringByEvaluatingJavaScriptFromString:@"alert('Hi there!');"];
    

    当我运行项目时,我可以单击该按钮并看到“hi there”提示,然后单击“OK”将其取消。通常4-5秒后模拟器崩溃。我偶尔会看到 "__TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION__" 错误,但不一致;有时没有错误。它也不总是第一次崩溃。有时我会转到另一个页面,然后再试一次,它就会崩溃。

    如果我在WebpageDidFinishLoad事件中放入相同的代码,它会正常工作。但我希望在用户要求时调用代码,这样事件就不适合我的需要。

    如果你有什么想法,我愿意接受一个变通办法?事先谢谢!

    1 回复  |  直到 15 年前
        1
  •  0
  •   Ken Pespisa    15 年前

    我仍然不知道这不起作用的确切原因,但我发现我可以重写代码,以便在uiwebview委托方法期间被调用。