我成功地使用了不可见的 UIWebView 作为 Javascript 片段的执行引擎。与某些页面的建议相反,它不需要可见。如果简单地宣布死亡
UIWebView* myJSExecutor = [UIWebView new];
它不仅执行任何stringByEvaluatingJavaScriptFromString:
扔给它的东西,它甚至会冒泡alert()
到桌面!(并不是你经常想这样做)免责声明:仅在 iOS 5+ 上测试
现在,我有另一个通常可见UIWebView
的正常网页内容,我希望它暂停JavaScript 执行:即停止对计时器和 DOM 事件进行操作。我认为removeFromSuperview
withstopLoading
和 settingdelegate = nil
可以解决问题。但是不,只要我将 UIWebView 添加回某个可见视图,我就可以看到计时器一直在运行。
我理解我的要求的精神分裂症。一方面我很欣赏它在后台工作(与一些观察相反),但另一方面我想暂停它。但我仍然想问是否有任何,甚至可能是私人的方式来暂停它。iOS 版 Safari 能够在后台暂停浏览器选项卡。适用于 iOS 的 Chrome 不能,这可能是一个可悲的负面证据 :(