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

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

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

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

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

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

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

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

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

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

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

您是否尝试过将一个WebView设置为3个webView的大小,并在1个UIWebView中使用3个iFrame加载每个启用javascript的页面?