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

标签 javascript iphone uiwebview code-injection

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

将我的 JavaScript 注入(inject)网页的源代码是唯一的解决方案吗?例如,我会把它紧跟在 <head> 之后标记以确保它是第一个运行的 JavaScript。

最佳答案

我也想回答这个问题。通过将 [myWebView stringByEvaluatingJavaScriptFromString: js] 放在 webViewDidStartLoad 中,我可以让它在页面的初始加载时工作。然而,在刷新时,它似乎不起作用。

编辑:我发现了这个变通方法(类似于您问题中的建议。)不确定它有多稳健。 http://www.stevesaxon.me/posts/2011/window-external-notify-in-ios-uiwebview/

关于javascript - 在运行任何其他 JavaScript 之前在 UIWebView 中运行 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1197098/

相关文章:

iPhone签名概念问题: why is Ad Hoc deployment needed?

javascript - iPhone : load local html in uiwebview via javascript

iphone - 在 iPhone 中对 uiwebview 进行分页

javascript - 使用 JavaScript 检测浏览器中的 Midi-piano 键盘事件的库

iphone - UITextView 和 UIPickerView 都有自己的 UIToolbar

iphone - 如何明智地将字符串划分为字符?

pdf - iPad UIWebView PDF 渲染给我带来了奇怪的视觉伪影

javascript - 在 DOM 中添加新元素后,该元素无法识别旧脚本

javascript - 阻止了源为 "file://"的框架访问跨域框架

javascript - React jest - 验证状态已更改