延迟加载Javascript以加速我的Joomla

Delay Loading Javascript to speed my Joomla

本文关键字:我的 Joomla 加速 Javascript 延迟加载      更新时间:2023-09-26

我正在使用joomla网站,并被迫使用额外的java脚本。

我的问题是:

  1. 如何仅在页面完成后强制加载javascript
  2. 我不是说延迟它们,而是将它们放在队列中,直到页面完成加载。

我尝试了许多链接教程,但没有任何帮助。

你能提供正确的例子让我理解吗?

我插入到页面对接的JS文件的示例:

<script src="/js/easing.js" type="text/javascript"></script>

你能提供Jquery代码来强制所有这些脚本等到页面加载完成吗?

谢谢

塔里克

Ales Kotnik 的答案很好,如果你想在你自己的指定时间内完成它,你可以做这样的事情:

function loadScript(url, callback){
var script = document.createElement("script")
script.type = "text/javascript";
if (script.readyState){  //IE
    script.onreadystatechange = function(){
        if (script.readyState == "loaded" ||
                script.readyState == "complete"){
            script.onreadystatechange = null;
            callback();
        }
    };
} else {  //Others
    script.onload = function(){
        callback();
    };
}
script.src = url;
document.getElementsByTagName("head")[0].appendChild(script);
}

这将仅在您调用脚本时加载脚本,然后像这样激活它:

<script type="text/javascript" src="http://your.cdn.com/first.js"></script>
<script type="text/javascript">
loadScript("http://your.cdn.com/second.js", function(){
    //initialization code
});
</script>

使用 <script src="..." async="async"/> .在现代浏览器(HTML5)中,它将生成单独获取javascript文件,并且不会延迟HTML的加载。您只需将脚本标签放在<body>的末尾即可。