iOS 6多个UIWebViews:Javascript只在一个中运行

ran*_*ver 7 iphone ipad ios ios6

iOS 6 iPad应用程序在两个UIWebView中显示内容.如果两个Web视图都包含jquery图像旋转器,则一次只能运行一个.运行<iOS 6,两者都正常工作.

如果重新加载非动画webview的内容,它将开始工作,而另一个停止.此外,仅在模拟器中,我有时可以通过单击/拖动来启动已停止的Web视图(以及另一个停止).

如果其中一个Web视图中没有javascript,则重新加载已停止的Web视图不会停止另一个的运行.

我的第一个想法是这是一个焦点问题,但最后一点似乎反驳了这一点,并指出两种网络观点之间存在某种污染.两个旋转器具有相同的选择器和相同的js脚本,但是js文件在本地缓存并且被唯一地重命名以消除缓存过程中的任何踩踏.

我在iOS 6发行说明中找不到任何描述不同UIWebView之间焦点变化的内容.

Web视图位于XIB中,但不是同一父UIView的兄弟.

理想的行为是显然没有Web视图进入睡眠状态.

Mac*_*ark 1

JavaScript 在多个 UIWebView 中工作,但它依赖于 JavaScript。如果您使用 href 链接 JQuery 或其他外部 JavaScript 代码,则可能会出现问题。您可以通过将所有外部 JavaScript 库的代码复制到网页 HTML 中来解决这些问题。这就是简单的 JavaScript 能够正常工作的原因。例子:

多个 Web 视图中 JavaScript 的屏幕截图

这是一个 UITableView,每个 UITableViewCell 中都有一个 UIWebView。在 webViewDidFinishLoad 我做[webView stringByEvaluatingJavaScriptFromString:@"document.write('hey hallo'+new Date().getTime())"];