5

我在 Google Chrome 中的一个网站遇到了一个非常奇怪的问题:

当我单击链接(从列表视图到详细信息页面)时,页面挂起,Chrome 会弹出一个对话框,要求我终止该页面。该页面从不显示。

但是,如果我直接导​​航到该页面,它会毫无问题地加载到 Chrome 中。两种操作(单击链接导航到页面)在 Safari 和 Firefox 中都可以正常工作。

在 Chrome 的设置中禁用“预测网络操作以提高页面加载性能”似乎可以解决问题,但这不是一个可行的解决方案,因为我无法控制用户的浏览器设置。

有关情况的更多详细信息:

  • 该链接只是一个常规的<href>. 我没有做任何 javascript click()处理或其他任何事情。我没有使用任何“预取”或“预渲染”<link>元素。

  • 所有页面都使用 W3 html5 验证器进行验证。

  • 我正在导航的页面加载了很多 JS,使用Knockout.js进行渲染并通过 HTTP 加载视频文件。

  • 在页面确实加载的情况下(经过很长时间的等待),Chrome 似乎已经在后台渲染了整个页面并加载了所有外部资源。如果我直接导​​航到该页面,它不会预加载任何内容(我正在使用敲除在加载外部资源时显示“请稍候”消息)。

  • 当我使用Charles记录网络请求时,Chrome 似乎会立即加载页面的 HTML,但对外部资源的请求似乎需要很长时间。

  • 如果我查看 Activity Monitor 中的 CPU 使用率,“Google Chrome 渲染器”在从 加载时使用 100% CPU href,但在直接从页面加载时仅使用 30%。

  • 我正在使用最新版本的 Chrome (22.0.1229.94)

所以 - 我的问题

有没有办法以编程方式禁用“预测网络操作以提高页面加载性能”?

或者这个问题还有其他解决方案吗?

4

1 回答 1

0

刚刚经历了高票未回答的问题,我遇到了这个问题,我曾经因为完全不同的原因陷入类似的情况(chrome 正在预加载一个我无法为每个用户加载的巨大文件)。我当时应用的相当简单的解决方案是通过 Javascript 打开链接,而不是一个简单href的奇迹。无论哪种方式,您的问题可能已经解决,但是看到我认为我至少可以分享这个小见解的视图数量。

于 2014-06-22T21:00:02.083 回答