【问题标题】:Visual studio debugger still shows old removed pages from iframesVisual Studio 调试器仍显示从 iframe 中删除的旧页面
【发布时间】:2012-06-19 14:51:23
【问题描述】:

我使用模式对话框。一个模态对话框由一个掩码 div 和一个容器 div 组成。容器 div 包含一个带有模态 aspx 页面的 iFrame。初始化模态对话框时,将掩码和容器添加到页面正文中。当我关闭模态对话框时,掩码和容器从正文中移除。

一切正常,当我在 Visual Studio 中开始调试并打开一个新的模式对话框时,我在调试器中的“脚本文档 - Windows Internet Explorer - somePage.aspx”处看到了新页面

但是当我关闭并删除对话框时,页面在 VS 调试器中保持“活动”状态,直到我刷新整个页面。

这很糟糕吗?即使页面从正文中移除,页面是否“还活着”?或者它只是一个 Visual Studio 调试器 UI 的东西?

我找到了this question,关于不断增长的脚本块文件。我认为那是同一个问题,但那里并没​​有真正回答这个问题。

【问题讨论】:

    标签: asp.net .net debugging visual-studio-2008 iframe


    【解决方案1】:

    删除包含 iframe 的容器 div 不够

    我预计这足以删除和销毁 iframe:

    $(this.mask).remove();
    $(this.container).remove();
    

    容器包含另一个 div(模式对话框标题)和一个 iframe。 通过使用上述代码终止容器,该 iframe 不会被删除。 它看起来不仅仅是一个 Visual Studio 调试器问题,因为每次我关闭并打开一个新对话框时,Windows 任务管理器中 iexplore.exe 进程的内存也在不断增加。

    解决方案: 当我明确删除 iframe 时,页面确实会从调试器中消失!

    我可以通过在初始化模态对话框时将 iframe 保存在 var 中来做到这一点,然后在删除模态对话框时显式删除 iframe。这样:

    关于创建/初始化模式对话框:

    this.frame = this.container.childNodes[0].childNodes[1];
    

    在关闭模式对话框时:

    $(this.frame).remove();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多