【问题标题】:Auto-refresh HTML tab in internet explorerInternet Explorer 中的自动刷新 HTML 选项卡
【发布时间】:2013-10-24 18:15:42
【问题描述】:

我做了一个很好的网站,做了很多 DOM 操作。在 chrome 和 firefox 中运行良好。尽管客户现在要求它也可以在 Internet Explorer 中使用。最新版本足以开始(在我的情况下是 10.0.9200.16721)。

所以冒险开始了,我按 F12 并看到一组非常熟悉的开发人员工具(来自 chrome 和 firebug)。当我跟踪 JS 代码时,我注意到 HTML 选项卡(带有 DOM)实际上并没有更新。

根据此处的手册http://msdn.microsoft.com/en-us/library/ie/gg589512(v=vs.85).aspx,“刷新 HTML 选项卡以获取当前 DOM 是一个好主意,尤其是当您使用动态元素时。” (d0h ??) 问题是.. 我找不到启用 HTML 选项卡自动更新的按钮。因此,每次我进入新的 JS 行时,我都必须单击刷新按钮(更不用说实时 DOM 视图)。

但这还不是全部......每次我单击刷新按钮时,整个 DOM 树视图都会崩溃。而且我必须点击一堆加号才能查看我感兴趣的节点。

有人对此有解决方案吗?因为这样需要几天的时间将需要几周的时间......

【问题讨论】:

  • 这就是没有人喜欢 IE 的原因。
  • IE11 实时更新 DOM 标签。

标签: javascript jquery html internet-explorer dom


【解决方案1】:

How to inspect elements on dynamically created DOM by using IE developers tools 的副本

通过一点点挖掘,这似乎也是其他人报告的问题。 This thread 可能你会感兴趣。

其中最相关的部分:

问题是当你从一个由超时调用的回调中修改 dom(有或没有 jquery)时,它在一个绑定到事件的回调中,IE 崩溃并且不更新 dom 树开发工具。后续在开发工具中对更改的标签进行修改不会有任何效果。

根据我的测试,正是这一系列调用的组合导致了这种情况发生。如果 dom 是从 settimeout 回调修改的,但没有在事件回调中,它可以工作。如果您直接调用修改 dom 的函数而不是 settimeout,则它可以工作。

Here 是您所说的复杂问题的一个有效示例。

基本上,这是 IE 的问题。目前没有可用的修复程序。另一个线程上接受的答案似乎是一个非常糟糕的解决方法。

【讨论】:

  • 好的,这当然是一些很好的信息,知道它也有问题。但是我在问如何在不单击刷新按钮的情况下自动更新 HTML 选项卡。您是说它通常(没有超时)会自动刷新吗?如果是这样..我严重质疑刷新按钮的功能是什么,如果它首先已经自动刷新(考虑没有超时错误的情况)...
  • @Flip 我知道你在问什么。而我的回答是,它不能完成。这对微软来说是一个很棒的功能,但目前你需要重新加载。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-21
  • 1970-01-01
相关资源
最近更新 更多