我帮助管理其他程序员用来创建包含 JavaScript 的内容的内容管理系统 (CMS)。从历史上看,我们将内容放入 iFrame 以便包含它;现在它是一个单页客户端应用程序,并且 JavaScript 被插入到同一个窗口中。
现有的内容库开发不佳,因此我试图在加载和/或查看几页内容后管理混乱的窗口对象或内存泄漏的可能性。
我正在考虑使用自动执行函数或类似的东西来包装 JavaScript,我将设置为“未定义”并删除(例如)。挑战在于我必须先注入包装器,所以我不能只对脚本标签使用直接的 ajax 调用。这是否意味着我唯一的选择是将包装器作为字符串附加到 JavaScript,然后使用 eval?我不想使用那种方法,但在这里可能是合适的。
例如,如果脚本 .js 文件包含以下代码:
var global = true;
如果最终结果为:
(function() {
var global = true;
})();
它将不再是全球性的。