7

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

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

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

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

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

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

显然,期望的行为是不让任何一个 web 视图进入睡眠状态。

4

2 回答 2

1

您是否尝试过使一个 WebView 的大小与您的 3 个 WebView 一样大,并在该 1 个 UIWebView 中使用 3 个 iFrame 来加载每个启用了 javascript 的页面?

于 2013-05-23T13:05:47.137 回答
1

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

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

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

于 2014-03-06T11:19:28.230 回答