Google Chrome间歇性加载问题:可以以编程方式禁用“预测网络操作...”?

时间:2012-10-29 01:00:41

标签: html5 google-chrome load

我在Google Chrome浏览器中遇到一个非常奇怪的问题:

当我点击链接(从列表视图到详细信息页面)时,页面挂起,我Chrome会抛出一个对话框,要求我杀死该页面。页面永远不会显示。

如果我直接导​​航到该页面,它会在Chrome中加载而不会出现任何问题。这两个操作(单击链接导航到页面)在Safari和Firefox中都可以正常工作。

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

有关情况的更多细节:

  • 该链接只是常规<href>。我没有做任何javascript click()处理或其他任何事情。我没有使用任何'prefetch'或'prerender'<link>元素。

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

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

  • 在页面 加载的情况下(等待很长时间后), Chrome似乎已在后台呈现整个页面 加载所有外部资源。如果我直接导​​航到它的页面 不会预装任何东西(我正在使用淘汰赛来表示'请 在外部资源加载时等待'消息'。

  • 当我使用Charles记录网络请求时,会出现这种情况 Chrome立即加载页面的HTML,但请求 外部资源似乎永远存在。

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

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

所以 - 我的问题

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

或者是否有其他解决方案可以解决这个问题?

1 个答案:

答案 0 :(得分:0)

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