我想知道是否存在一种方便的方法来检查脚本(执行时)是否已被异步加载。
例如 脚本标签:
<script async type="text/javascript" src="js/async.js"></script>
async.js 脚本:
if (_condition_to_check_if_this_has_been_loaded_async) { console.log("async: true") }
最佳答案
除非你想要 IE
兼容性,否则这个问题的正确答案是使用鲜为人知但得到广泛支持的 document.currentScript
属性(property)。
此属性返回当前正在执行的脚本的 HTMLScriptElement
(如果脚本不在标记中/是回调或类似脚本,则返回任何内容),它会告诉您它是否具有 async
/defer
属性等。
MDN 示例甚至引用了这个确切的用例:
if (document.currentScript.async) {
console.log("Executing asynchronously");
} else {
console.log("Executing synchronously");
}
关于javascript - 如何检查 Javascript 脚本是否已异步加载 (Async) 或是否存在异步属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38370089/