相关疑难解决方法(0)

验证外部脚本是否已加载

我正在创建一个jquery插件,我想验证外部脚本是否已加载.这是一个内部Web应用程序,我可以保持脚本名称/位置一致(mysscript.js).这也是一个可以在页面上多次调用的ajaxy插件.

如果我可以验证脚本未加载,我将使用以下命令加载它:

jQuery.getScript()
Run Code Online (Sandbox Code Playgroud)

如何验证脚本是否已加载,因为我不希望多次在页面上加载相同的脚本?这是否因为缓存脚本而无需担心?

更新: 我可能无法控制谁在我们的组织中使用此插件,并且可能无法强制该脚本不在具有或不具有特定ID的页面上,但脚本名称将始终位于同一位置同名.我希望我可以使用脚本的名称来验证它实际上已加载.

javascript asp.net jquery

64
推荐指数
6
解决办法
12万
查看次数

在JavaScript中如何等待动态注入的脚本在开始使用之前加载?

在不使用任何外部库的情况下,如何在使用之前等待脚本加载.

在我的情况下,我正在使用以下命令加载脚本:

(function (w,d,t,s,e,r) {

    e = d.createElement(o);
    r = d.getElementsByTagName(o)[0];
    e.async = 1;
    e.src = g;
    r.parentNode.insertBefore(e, r)

})(window, document, 'script', '//mydomain.com/path/to/script.js');
Run Code Online (Sandbox Code Playgroud)

然后:

// then later I want to use some code form the script:
var obj = new classFromTheInjectedScript();
Run Code Online (Sandbox Code Playgroud)

有没有等待脚本加载然后开始使用它?

注意:我有一种方法可以在我想要加载的脚本中触发事件,然后听到它,如下所示,但这是一个好主意吗?

(function(w,d){

    document.addEventListener('scriptLoadedCustomEvent',onScriptReady);

    function onScriptReady(){
        // what I need to do goes here!
    }


})(window,document);
Run Code Online (Sandbox Code Playgroud)

javascript

6
推荐指数
2
解决办法
5737
查看次数

标签 统计

javascript ×2

asp.net ×1

jquery ×1