首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >页面加载后向<body>添加元素的问题

问页面加载后向<body>添加元素的问题
EN

Stack Overflow用户
提问于 2015-01-21 03:15:06
回答 1查看 189关注 0票数 1

我们正在向“body”标签中添加一个背景图像。图像是动态的,因此必须最后加载以允许变量传递给它。

问题是,我们正在努力改进我们的PageSpeed,当添加背景图像时,PageSpeed报告将大量脚本标记为呈现阻塞。就连我们的脚上也有。

据我所知,这不应该是渲染阻塞,因为没有它的内容可以加载良好-而且它确实如此-但是当背景图像被调用时,它变成呈现阻塞。

以前有人做过这样的事吗?有什么解决办法吗?

我还花费了大量的时间试图让脚本在页面加载完毕后加载,并且在页面之后加载,但呈现阻塞内容仍在报告中标记。

我似乎无法理解这一切。如有任何指导,将不胜感激。

谢谢,bhtech

更新

代码语言:javascript
复制
<html>
<head>
<script src="/header.js"></script>
</head>
<body>
<script src="/footer.js"></script>
<script src="/loadbodyimage.js"></script>
</body>
</html>

当不包括/loadbodyimage.js文件时,只有/header.js文件是呈现阻塞的-这是完全合理的。

但是当我包含/loadbodyimage.js (向主体标记添加背景图像)时,/footer.js文件也会变成呈现阻塞。

这是一个非常愚蠢的版本,正在发生的事情-但有点说明了我正在经历的。

更新

我将下面的代码添加到页面底部,这将写入body标记并添加一个背景图像。这是简单的jQuery。

代码语言:javascript
复制
$(document).ready(function() {
$('body').css('background', 'url(/images/bgImage.jpg)');
});

这使得页面上的脚本(甚至在它之后)被标记为呈现阻塞。如果我把这一行注释掉,脚本就不再是呈现阻塞的了.我希望这有助于解释我的问题。

EN

回答 1

Stack Overflow用户

发布于 2015-01-21 03:58:13

我建议尝试使用一个名为head.js的脚本。它以异步和并行方式加载JS。当我试图提高PageSpeed分数和初始页面加载时间时,我已经取得了很好的效果。

您可以下载head.js 这里。

用法:

代码语言:javascript
复制
<head>
 <script src="/head.load.min.js"></script>
 <script>
  head.js("/header.js");
  head.js("/footer.js");
  head.js("/loadbodyimage.js");
 </script>
</head>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28059034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档