当前位置:  开发笔记 > 编程语言 > 正文

使用javascript根据需要注入脚本引用?

如何解决《使用javascript根据需要注入脚本引用?》经验,为你挑选了0个好方法。

我有一个JS函数,可能偶尔会在某些页面上使用.它依赖于另一个JS文件(swfObject.js),但我想避免必须在整个地方都包含这个文件,因为大多数情况下这都是浪费的请求.

相反,我想创建一个可以根据需要将脚本引用注入页面DOM的泛型函数,因此如果调用此函数,它将检查脚本,如果它不存在,则加载它.

我很确定这是可能的(我不打算使用document.write),但在我冒险进入未知领域之前,有没有人之前做过这个,如果有的话,还有什么指针?

编辑:好的,我试过了,它适用于IE6和FF,我还没有测试过其他浏览器.

这是我的代码(Rev 2.0,现在有可选的回调):

function loadJSInclude(scriptPath, callback)
{
    var scriptNode = document.createElement('SCRIPT');
    scriptNode.type = 'text/javascript';
    scriptNode.src = scriptPath;

    var headNode = document.getElementsByTagName('HEAD');
    if (headNode[0] != null)
        headNode[0].appendChild(scriptNode);

    if (callback != null)    
    {
        scriptNode.onreadystagechange = callback;            
        scriptNode.onload = callback;
    }
}

并在具有依赖性的方法中:

var callbackMethod = function ()
{
    // Code to do after loading swfObject
}

// Include SWFObject if its needed
if (typeof(SWFObject) == 'undefined')    
    loadJSInclude('/js/swfObject.js', callbackMethod);
else
    calbackMethod();

有什么建议?

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有