【发布时间】:2012-12-12 18:53:13
【问题描述】:
我有一个网页,上面主要是基本的 HTML。有一个部分我使用从外部源 (url) 提取的 JavaScript 加载 RSS 提要。问题是我的页面将加载所有内容直到该脚本,等待脚本加载(有时长达几秒钟),然后加载页面的其余部分。
如何强制它先渲染整个页面后加载脚本?
我的代码是这样的:
<html>
<more html>
<script language="JavaScript" src="http://..." type="text/javascript"></script>
<more html>
...
【问题讨论】:
-
将脚本放在底部,或者使用异步加载。
-
@Cthulhu 我很确定情况正好相反。浏览器从上到下解析,并等待脚本加载。否则,您还期望在使用它运行的库之后立即执行代码吗?浏览器不会等待图像的 URL 解析和加载
-
@Cthulhu,它们按顺序加载并阻止页面的其余部分。如果他们没有另一个库的所需库可能会导致问题。例如,一个小的 jQuery 插件会在 jQuery 之前加载。
-
您确定没有什么需要立即使用 Javascript 库吗?如果没有,请在脚本标签上使用
defer或async属性 -
@Cthulhu,大多数都这样做,因为在同步非延迟脚本运行之前解析无法继续。不执行脚本标签就无法正确解析
<script>if (Math.random() < 0.5) { document.write("<!--"); }</script><b -->Hello, World!。
标签: javascript html rss load