我的网页上主要是基本的HTML。有一个部分我使用JavaScript从外部源(url)加载RSS源。问题是我的页面会加载所有内容直到该脚本,等待脚本加载(有时最多几秒),然后加载页面的其余部分。
如何在首先渲染整个页面后强制它加载脚本?
我的代码是这样的:
<html>
<more html>
<script language="JavaScript" src="http://..." type="text/javascript"></script>
<more html>
...
答案 0 :(得分:8)
两个选项:
defer
标记中加入script
属性。请注意,defer
只能用于外部脚本文件(具有src
属性的脚本文件)。见https://developer.mozilla.org/en-US/docs/HTML/Element/script。答案 1 :(得分:2)
将 defer
属性添加到头部的 script 标签也有效
<script language="JavaScript" src="http://..." type="text/javascript" defer></script>
答案 2 :(得分: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);
答案 3 :(得分:0)
将脚本标记移动到最后,它将在其他所有内容之后加载。例如:
<html>
<more html>
<more html>
<script language="JavaScript" src="http://..." type="text/javascript"></script>
</html
答案 4 :(得分:0)
您可以尝试将调用提要的函数包装在
中jQuery(window).load(function(){
//embed RSS feed
});
强制其最后加载。