加载异步JavaScript时触发事件

乔纳

我正在更改要异步加载的外部javascript资源,以加快页面加载速度。为此,我将async属性添加到脚本标签中:

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

在body标记结束之前,我已经包含了以下代码来执行回调:

if (typeof(myFuncion) === "function") {
    myFunction();
} else {
    window.onload = myFunction;
}

基本上,如果缓存了external.js,则当解析器到达此代码时,将定义myFunction并将其执行。如果没有,那么它将必须等待所有外部资源可用,然后再调用myFunction。因此,当myFunction实际上仅依赖于external.js时,它将等待AdSense,Analytics(分析)...。

这对我来说没有多大意义。关于如何将window.onload替换为在加载external.js时触发的某些建议?

TaoPR

您应该通过JavaScript而不是使用script标签来注入脚本,以便完全控制load事件请参见下面的示例:

var script = document.createElement("script");
script.type = 'text/javascript';
script.src = 'external.js';
script.async = true;
document.getElementsByTagName('head')[0].appendChild(script);

script.onload = script.onreadystatechange = function() {
    if (script.readyState ||
        script.readyState === "loaded" || script.readyState === "complete"){
        // Script loaded!

        // So all dependencies are ready, call the desired function now
        myFunction();
    }
}

使用这种方法,可以在脚本成功加载后捕获事件,然后触发适当的功能。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JavaScript onclick事件在页面加载时触发

来自分类Dev

在加载时触发绑定事件

来自分类Dev

JavaScript事件监听器在页面加载时触发,而不是click事件

来自分类Dev

在页面加载时停止触发事件

来自分类Dev

单击事件在文档加载Tampermonkey时触发

来自分类Dev

页面加载时触发jquery事件

来自分类Dev

jQuery在加载特定元素时触发事件

来自分类Dev

在页面加载时停止触发事件

来自分类Dev

异步事件被触发

来自分类Dev

顺序触发异步事件

来自分类Dev

javascript中的事件监听器不会触发,除非页面加载时

来自分类Dev

仅在触摸时触发Javascript事件

来自分类Dev

Javascript-添加时触发事件

来自分类Dev

选择某些选项时的 JavaScript 触发事件

来自分类Dev

Javascript函数在页面加载时触发,而不是单击时触发

来自分类Dev

Javascript onFocus在页面加载时触发

来自分类Dev

在页面加载时触发多个JavaScript函数

来自分类Dev

Javascript onclick在页面加载时触发

来自分类Dev

div点击事件自动在页面加载时触发

来自分类Dev

QML:完全加载文档时触发的事件

来自分类Dev

jQuery更改事件在页面加载时触发输入

来自分类Dev

为onClick事件列出的函数在ReactJS的加载时触发

来自分类Dev

加载生成的内容中的图像时触发事件

来自分类Dev

通过导入包含jquery时,不会触发窗口加载事件

来自分类Dev

每个块内的Svelte on:click事件在页面加载时触发

来自分类Dev

为什么页面加载时触发了配音事件?

来自分类Dev

为什么页面加载时触发了配音事件?

来自分类Dev

按钮单击事件在页面重新加载时触发

来自分类Dev

div点击事件会在页面加载时自动触发

Related 相关文章

热门标签

归档