动态加载JS文件的三种方法


直接看实例。
例1 重新加载js文件

function loadJs(file) {
            var head = $("head").remove("script[role='reload']");
            $("<scri" + "pt>" + "</scr" + "ipt>").attr({ role: 'reload', src: file, type: 'text/javascript' }).appendTo(head);
}

例2 重新载入javascript文件的方法(给js定个id),自己封装成一个方法方便大家使用:

function reloadAbleJSFn(id,newJS)
{
var oldjs = null;
var t = null;
var oldjs = document.getElementById(id);
if(oldjs) oldjs.parentNode.removeChild(oldjs);
var scriptObj = document.createElement("script");
scriptObj.src = newJS;
scriptObj.type = "text/javascript";
scriptObj.id   = id;
document.getElementsByTagName("head")[0].appendChild(scriptObj);
}

例3 jquery的就直接使用getScript就可以了。

<script type="text/javascript" src="../jquery.js"></script>
<script type="text/javascript">
$(function()
{
$('#loadButton').click(function(){
$.getScript('new.js',function(){
newFun('"Checking new script"');//这个函数是在new.js里面的,当点击click后运行这个函数
});
});
});
</script>
</head>
<body>
<button type="button" id="loadButton">Load</button>

 

附加

const scriptEl = document.createElement('script');
scriptEl.onload = scriptEl.onreadystateschange = function () {
	if (!this.readyState // FF onload
        || this.readyState == 'loaded' || this.readyState == 'complete' // IE onreadystateschange
    ) {
	    // 脚本加载完成后执行某些逻辑
	    // IE支持onreadystateschange事件
	    // FF支持onload事件
    }
};
scriptEl.src = '/myscript.js';
document.body.appendChild(scriptEl);

 

|| 版权声明
作者:大米
链接:https://blog.qqsuu.cn/4192.html
声明:如无特别声明本文即为原创文章仅代表个人观点,版权归《大米博客》所有,欢迎转载,转载请保留原文链接。
THE END
二维码
打赏
海报
动态加载JS文件的三种方法
直接看实例。 例1 重新加载js文件 function loadJs(file) { var head = $("head").remove("script[role='reload']"); $("<scri……
<<上一篇
下一篇>>