在运行任何其他JavaScript之前在UIWebView中运行JavaScript

13 javascript iphone code-injection uiwebview

我有一个UIWebView组件,它将加载一个可能包含JavaScript的网页.我希望在加载的网页上的任何JavaScript运行之前运行我自己的JavaScript.我知道我可以[myWebView stringByEvaulatingJavaScriptFromString:]webViewDidFinishLoad:代理上使用UIWebView,但这只会在网页上的JavaScript 运行运行我的JavaScript .

是将我的JavaScript注入网页源代码的唯一解决方案吗?例如,我会立即将它放在<head>标记之后,以确保它是第一个运行的JavaScript.

Ian*_*raw 5

我也想回答这个问题.我可以通过放入[myWebView stringByEvaluatingJavaScriptFromString: js]内部来使其适用于页面的初始加载webViewDidStartLoad.但是,在刷新时,它似乎不起作用.

编辑:我发现这个解决方法(类似于你问题中的建议.)不确定它有多强大. http://www.stevesaxon.me/posts/2011/window-external-notify-in-ios-uiwebview/


Elz*_*ugi 1

查看这篇关于 JS 执行顺序的文章。这里还有另一个针对同一问题的教程。如果您对某段特定代码有疑问,请将其添加到详细示例中,然后看看它可以做什么。