html 如何让一个脚本加载到网页上最后?

k2arahey  于 2022-12-21  发布在  其他
关注(0)|答案(5)|浏览(414)

我有一个网页,上面大部分是基本的HTML。有一个部分我使用JavaScript从外部源(url)加载RSS提要。问题是我的页面会加载所有内容,直到脚本加载,等待脚本加载(有时长达几秒钟),然后加载页面的其余部分。
在它首先呈现整个页面之后,我如何强制它加载脚本?
我的代码是这样的:

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

5w9g7ksd1#

两个选项:
1.把你的脚本块放在页面的最后。这是一个很好的做法,因为你的页面结构会在脚本之前加载。因为用户通常会注意到页面加载,而不是脚本,这给人一种更快加载的感觉。
1.在script开始标记中包含defer属性。注意defer只能用于 * 外部 * 脚本文件(具有src属性的文件)。请参见https://developer.mozilla.org/en-US/docs/HTML/Element/script

2q5ifsrm

2q5ifsrm2#

defer属性添加到head中的script标记也可以

<script language="JavaScript" src="http://..." type="text/javascript" defer></script>

Reference link: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-defer

xoefb8l8

xoefb8l83#

一个非常可靠的方法是在页面加载后加载脚本,即在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);
t3irkdon

t3irkdon4#

您可以尝试将调用提要的函数 Package 在

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

迫使其最后加载。

qvk1mo1f

qvk1mo1f5#

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

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

相关问题