我知道,一旦加载了脚本,您就可以<script>
从页面中删除元素,并且变量/函数仍然存在。
假设我有两个版本的函数,处理 UI,用户可以根据偏好在其中进行选择。
整个页面大量基于 AJAX。理想情况下,除非用户明确执行,否则它永远不应该重新加载,因此根本不可能调用location.reload()
。
我的想法是这样的:
<script type="text/javascript" src="ui1.js" id="uiscript"></script>
然后简单地改变:
document.getElementById('uiscript').src = ...;
这两个文件的格式为:
var ui = function(...) {
...
};
所以我的问题是,在两个来源之间切换会可靠地改变功能吗?即使脚本被缓存了?我会更好地添加一个 cachebusting 查询字符串吗?或者我应该完全放弃这个想法并去做其他事情,例如在回调中重写函数而不是更改脚本的源代码?
关于这样的事情还有其他建议吗?