3
我加载一些HTML和JS使用AJAX:卸载外部js文件
主page.html中负载通过AJAX一个名为页页到load.html。
<!-- main-page.html -->
<html>
...
<script>
$.ajax({
type:"POST",
url:"page-to-load.html",
success:function(data) {
$("#some_id").html(data);
}
});
</script>
...
</html>
页面到load.html包括HTML和JS文件:
<!-- page-to-load.html --->
<script src="scripts-for-this-html.js"></script>
<p>This is a HTML page working with above external .js file</p>
正如你所看到的,我加载一个js文件,脚本换这 - html.js
这完美的作品。问题是,如果我再次加载(我的意思是,“#some_id”变空,并加载页面到load.html再次)中的所有脚本(脚本换这个-html.js)保持在浏览器内存(例如,如果我在这个.js文件中有一个事件,即使我已经从DOM中删除脚本元素,该事件也会重复多次,因为我已经加载了该文件)。
有什么办法得到这份工作?我不想一次包含所有.js文件(太多),我想按需求加载和卸载它们。
如果问题是代码被重复*,那么,只加载一次代码而不是几次更有效? – JCOC611
因此,根据需要,您加载代码一次,并且您有一个变量,指出文件是否之前加载过,因此如果是这样,那么只需通过正则表达式删除'