Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS需要花费大量的时间进行评估_Javascript_Html - Fatal编程技术网

Javascript JS需要花费大量的时间进行评估

Javascript JS需要花费大量的时间进行评估,javascript,html,Javascript,Html,我有一个脚本,我在许多网站上使用 它工作得很好,除了一个站点,该站点上嵌入脚本的页面加载速度非常慢(我认为这不是连接速度慢,而是脚本速度慢) 事情是这样的:(我在Chrome中使用了时间线) 。。。。 在这里,我将脚本标记加载到头部 .. 头脚本在5秒后加载。(所以这个代码段工作得很好),但是它的计算只在29秒后发生 其他脚本是否会阻止我的脚本评估?这可能是因为脚本放在身体而不是头部造成的吗?不是阻塞而是延迟。对如果它装载了脚本和其他重型(如flash)对象,则可能是这种情况。头标签首先被加

我有一个脚本,我在许多网站上使用

它工作得很好,除了一个站点,该站点上嵌入脚本的页面加载速度非常慢(我认为这不是连接速度慢,而是脚本速度慢)

事情是这样的:(我在Chrome中使用了时间线)

。。。。
在这里,我将脚本标记加载到头部
.. 
头脚本在5秒后加载。(所以这个代码段工作得很好),但是它的计算只在29秒后发生


其他脚本是否会阻止我的脚本评估?这可能是因为脚本放在身体而不是头部造成的吗?

不是阻塞而是延迟。对如果它装载了脚本和其他重型(如flash)对象,则可能是这种情况。头标签首先被加载,所以如果它在主体中,那么它将在后面被处理。阅读以下内容:

如果您的脚本设置为运行“onload”,并且页面加载需要29秒,则会导致延迟

实际上,将脚本包含放在HTML文件的底部被认为是最佳选择,我认为这就是您所做的。将脚本放在body标记中,而不是头部,应该会导致整体页面加载速度更快

更新

下面是一些关于为什么你应该把脚本放在网页底部的参考资料

对于性能:

用于SEO(仅当您有一长段内联JavaScript时才真正相关):

据称,一些搜索引擎只下载网页的前“n”KB,因此您不希望页面的该部分包含JavaScript,因为它会阻止真实内容被索引

谷歌分析

现在,谷歌分析是一个有趣的问题。他们希望您将JavaScript放在正文的顶部,原因如下

如果你的页面需要4秒钟才能加载,那么将分析JavaScript放在页面正文的顶部意味着几乎所有的访问都会登录到谷歌。如果将Analytics JavaScript放在web页面的底部,在页面完全加载之前到达页面并再次离开的访问者将不会被登录


例如。。。我来到你的网站上寻找关于“汽车”的信息,当页面出现在我的屏幕上时,我看到“汽车”这个词并点击它。如果分析JavaScript位于页面顶部,您将看到我来到主页并单击了汽车。如果你把它放在底部,你会认为我直接进入了“汽车”页面。因此,为了准确起见,您需要将Google Analytics JavaScript放在开头的body标记后面。

我们应该猜一下脚本是什么?:)张贴脚本或相关部分,也许有人会注意到一些不寻常的事情。还有,这一个站点有什么不同?它可能会加载一些JS框架吗?也许它将
.js
文件解析为服务器端?为什么Google analytics建议将其放在正文的顶部?我在答案中添加了一整段内容。@Fenton有没有解决方案,这样Google analytics就不会影响页面加载了?
 <body> ....
 <script...>here I load script tag into the head</script>
  .. </body>