【问题标题】:Is it possible to unload JavaScript? [duplicate]是否可以卸载 JavaScript? [复制]
【发布时间】:2014-06-25 14:42:49
【问题描述】:

是否可以在不重新加载页面的情况下卸载 JavaScript?

通过 ajax 将文件添加到 DOM 中,可以轻松地动态添加文件。

但相反的情况呢。

有没有办法卸载文件?

我的理解是,如果我附加一个脚本元素,就会加载 JS。但是,如果我动态删除脚本元素,则 JS 仍处于加载状态。

有没有办法卸载 JS 文件。

这是一个动态加载的例子:

script_el.src = base + 'some_path' + '?_time=' + new Date().getTime();
document.head.appendChild(script_el);
script_el.onload = function () {
    libHasLoaded();
};

【问题讨论】:

  • 你总是可以将JS文件中的变量设置为null?
  • 您为什么要这样做?如果要禁用正在运行的脚本,则应在其中创建一个挂钩以允许禁用/启用功能,而不是“卸载”代码。
  • 我认为答案是......不。你不能卸载JS。如果有人想用解释标记为答案......
  • 但是理论上你可以卸载它,它实际上并不会阻止它工作。 (从 dom 中删除 js 文件,但是这当然并没有真正删除它)。事实是卸载 js 文件不是您想要的。您想要反转或禁用它所做的一切。 (这是可能的,只是没有一种自动化的方法。)
  • 您可以在自己的线程中作为工作线程运行脚本并在某个时间点终止它。但是从解释器中删除脚本就像从一碗豌豆汤中去除盐一样。

标签: javascript


【解决方案1】:

在加载 js 之后没有自动恢复更改的方法(如果这就是您所说的“卸载 js”)。手动执行此操作有些可能(如在每个脚本中),但确实非常非常困难。我不会打扰这样做。最好设计你的 js,这样你就可以通过切换某种标志来禁用它。

【讨论】:

    猜你喜欢
    • 2015-01-24
    • 1970-01-01
    • 2013-11-14
    • 2013-09-10
    • 1970-01-01
    • 2010-11-23
    • 2014-02-09
    • 2011-07-08
    • 2021-06-30
    相关资源
    最近更新 更多