我的网站冻结了——可能是JavaScript,但我不知道为什么

My web site is freezing - probably JavaScript, but I can't identify why

本文关键字:JavaScript 为什么 我不知道 网站 冻结 结了 我的      更新时间:2023-09-26

我知道这是一个很渺茫的机会,所以我不指望答案,但我就是不明白为什么这个网页设计总是让我的浏览器死机。

http://fuzionve.com/test

我在Chrome开发人员工具中运行了审计工具,但似乎没有什么实质性的。当我在浏览器中加载它时,它会冻结,然后立即完全加载。

有什么建议吗?

非常感谢你的帮助

1)删除/注释掉代码

2)加载页面,检查是否冻结

3)如果仍然冻结,重复步骤1

4)如果没有冻结,检查您刚刚删除的代码

这里可以正常工作。

关于"简单"优化的一些建议:

  1. <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=PT+Sans:400,700,400italic" />—这是一个外部样式表。您的浏览器必须与另一台服务器建立连接。考虑下载字体(和样式表)到您自己的服务器。
  2. 加载4个样式表,这需要4次往返服务器。考虑将它们合并到一个样式表中。如果你喜欢在开发中使用多个样式表,在发布版本中将它们合并到一个文件中。
  3. 脚本也是一样:你有3个脚本。考虑在发布版本中将它们合并到一个文件中。
  4. 当您的浏览器检测到<script>元素时,它会停止呈现您的页面,直到该脚本文件从服务器下载并执行。这是因为脚本可以使用document.write()来编写HTML,从而更改页面。如果你知道你的脚本不写HTML(通常他们不写,至少直到文档。ready事件被触发),考虑使用HTML5 asyncdefer属性(https://developer.mozilla.org/en-US/docs/HTML/Element/script)。请注意,这些属性只在现代浏览器中支持。

如果这些方法都不起作用,请遵循Brad M的建议来跟踪您的问题。

我有同样的问题,当使用多个(和重的)插件,你能做的,是改变他们的一些代码,开始一个接一个,像回调,至少我改变了3-4个插件代码来做这个改变。

它可能完成这项工作,检查,用setInterval,看看是否一些插件已经完成。或者在代码中实现回调,完成后再调用另一个代码。

我找到了这个lib,它可以帮助你:https://github.com/caolan/async