10

我有一个网页,上面主要是基本的 HTML。有一个部分我使用从外部源 (url) 提取的 JavaScript 加载 RSS 提要。问题是我的页面将加载所有内容,直到该脚本,等待脚本加载(有时长达几秒钟),然后加载页面的其余部分。

在它首先呈现整个页面后,如何强制它加载脚本?

我的代码是这样的:

<html>
<more html>
<script language="JavaScript" src="http://..." type="text/javascript"></script>
<more html>
...
4

5 回答 5

10

两种选择:

  1. 将您的脚本块放在页面的末尾。无论如何,这是一种很好的做法,因为您的页面结构将在用于操作它的脚本之前加载。因为用户通常会注意到页面加载而不是脚本,所以总体上看起来加载速度更快。
  2. 在开始标记中包含defer属性。script请注意,defer只能在外部脚本文件(具有src属性的文件)上使用。请参阅https://developer.mozilla.org/en-US/docs/HTML/Element/script
于 2012-12-12T18:54:29.733 回答
2

defer属性添加到头部的脚本标签也可以

<script language="JavaScript" src="http://..." type="text/javascript" defer></script>
于 2020-12-21T05:23:57.833 回答
1

在页面加载后加载脚本的一种非常可靠的方法是将脚本包含在 javascript 中。

var theScript = document.createElement("script");
theScript.setAttribute("type","text/javascript");
theScript.setAttribute("src","//www.mysite.com/script.js");
document.getElementsByTagName("head")[0].appendChild(theScript);
于 2014-03-21T18:43:09.400 回答
1

您可以尝试包装调用提要的函数

jQuery(window).load(function(){
//embed RSS feed 
});

强制它最后加载。

于 2018-09-20T19:12:32.283 回答
0

将您的脚本标签移动到末尾,它将在其他所有内容之后加载。例如:

<html>
  <more html>
  <more html>
  <script language="JavaScript" src="http://..." type="text/javascript"></script>
</html
于 2012-12-12T18:54:39.837 回答