1

我有一个 html 页面,其中包含许多从远程位置加载脚本的 html/head/script 标签。我想在页面加载后以编程方式从页面中删除脚本。

要删除脚本,我使用的removeChildDOMElement.

element.removeChild(child);

此调用成功执行,但从脚本加载的函数仍在内存中。对加载的函数没有影响。

我也试过:

element.replaceChild( new, old );

两者都没有效果。这是错误还是功能?如何以编程方式删除以前加载的脚本?

4

1 回答 1

3

在加载后删除脚本元素不会删除脚本本身。我不知道如何“卸载”已经加载的脚本。如果有你想要替换的目标函数,你可以重新定义那些只会用不同的代码替换旧代码的全局符号,但 javascript 不提供卸载的能力。

例如,如果脚本有一个名为 的全局函数callMe(),您可以在全局范围内将该函数重新定义为其他内容:

function callMe() { /* replacement function that does nothing */}

最后出现的定义将生效。

于 2012-08-13T21:46:26.753 回答