【问题标题】:IE8 - Removing iframe does not stop JavaScriptIE8 - 删除 iframe 不会停止 JavaScript
【发布时间】:2014-10-25 20:13:12
【问题描述】:

我有一个包含 iframe 的窗口。

使用 jquery,我像这样删除 iframe:

var elem = $("#iframesID");
elem.empty().remove(); // overkill!

这总是会删除 iframe,但是我今天注意到在 IE8 中脚本仍在后台运行。我知道这一点,因为它开始抛出错误。 (parent.something is null or not an object)...它几乎就像页面已从 DOM 中删除,但 javascript 仍在后台运行。

我也尝试过window.location.reload(),但脚本继续运行。

有什么建议吗?谢谢

【问题讨论】:

  • 我会认真考虑您对 iframe 的选择 - 有没有更简洁的方法来做到这一点?
  • 不怕。我正在添加到现有项目。使用了许多 iframe,每个 iframe 都包含程序的“单独”部分。 iframes 不是太讨厌,这只是难倒我。我现在在 iframe 的代码中添加了一个警报,每 20 秒就会发出一次警报。我可以移除框架,检查它的消失,但仍然会触发警报。

标签: javascript jquery iframe internet-explorer-8 reload


【解决方案1】:

假设 Javascript 在父页面上被(调用),这对我来说听起来很合乎逻辑。我的建议是首先检查 iframe 是否仍然存在:

var elem = $("#iframesID");
if (elem) {
    elem.empty().remove(); // overkill!
}

或:

var elem = $("#iframesID");
if (!elem) {
    return;
}
else {
    elem.empty().remove(); // overkill!
}

我对 jQuery 的(语法)知识不是很好,因为我一如既往地使用原生 JS。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-07
    • 2014-08-20
    • 1970-01-01
    • 1970-01-01
    • 2011-03-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多