【发布时间】:2012-11-14 12:09:45
【问题描述】:
我正在 web 视图上通过 stringByEvaluatingJavaScriptFromString 运行一些 javascript 代码。当我尝试在代码中记录 js 的结果时没有输出,除非我运行像“document.title”这样简单的东西,它可以工作。
但是使用 Safari 中的远程调试器,我可以使用控制台运行完全相同的代码并获得正确的结果。
关于这里可能发生什么会阻止 javascript 在应用程序中工作的任何想法?显然代码很好,因为它可以在调试器中运行。在应用内的 webviews 中运行 javascript 有限制吗?
谢谢!
【问题讨论】:
-
您如何尝试将结果记录到控制台?当初做的时候,没有远程调试,所以我基本上是用code.google.com/p/jsbridge-to-cocoa把JS中的对象发回Objective C,在那里调查结果。
-
我只是在使用 NSLog,我认为这没问题,因为它正确记录了 document.title 之类的内容。
-
好吧,现在你失去了我。您是否将 NSLog 放入 javascript 代码中?您能否发布一些您正在尝试的源代码?
-
不,抱歉。我的意思是我在我的应用程序代码中使用了 NSLog。我在原始帖子中提到的控制台来自远程调试窗口,它只允许您通过应用程序的 web 视图运行 javascript。因此,当我在远程调试器中运行 javascript 代码时,它按预期工作。但是在应用程序的源代码中具有完全相同的代码(使用 stringByEvaluating...等执行)并运行应用程序,javascript 代码不起作用。所以我不知道哪里出了问题......
标签: javascript ios remote-debugging