0

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

我的问题是:

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

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

请,

您能否提供正确的示例以使我理解。

我插入到页面底部的 JS 文件示例:

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

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

谢谢

塔里克

4

2 回答 2

1

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>
于 2012-05-26T12:03:59.240 回答
1

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

于 2012-05-26T11:42:10.250 回答