当开发人员工具打开IE11时,网站的行为会有所不同

我在IE11中使用以下模板,无法弄清楚为什么每次导航发生时侧边栏都会唱歌。 当开发人员工具打开时,它的行为与我希望的一样。 通过在运行IE11时单击树中UI元素下的任何一个选项卡,可以轻松演示它。 但是,您会注意到如果F12开发人员工具打开,每次导航发生时侧栏都不会滑动。 这不是chrome中的问题。 fastclick有一个错误可能会出现,但是我没有快速点击而且仍然会发生。 任何帮助都会很棒。 谢谢。 https://almsaeedstudio.com/themes/AdminLTE/pages/UI/general.html

尝试从代码中删除任何console.log()

console.log()在调试时帮助解决Javascript可能导致IE完全停止处理页面上的脚本。 为了增加这个谜团,如果你继续在开放式工具栏的IE中观看你的页面 – 你根本不会注意到一个问题。

说明

原因是除非在IE中打开devtools,否则不会实例化控制台对象。 否则,您将看到两件事之一:

  1. Javascript无法正确执行
  2. 控制台有神秘的错误,例如“对象未定义”或其他性质

十分之九,你在代码中有一个错误的console.log。 这不会影响IE以外的任何浏览器。

另一个可能的原因,特别是在执行ajax调用时,可能会在关闭开发工具时缓存ajax响应,但在开放工具时从服务器刷新。

在IE中,打开“ 开发人员工具”的“ 网络”选项卡,单击“播放”图标,然后取消设置“ 始终从服务器刷新”按钮。 然后观察您的任何ajax调用是否返回,响应代码为304(未修改)。 如果是,那么您没有从服务器获取新数据,您需要更新通过ajax调用的页面上的可缓存性设置。

我假设你已经修好了,因为你发布它,因为我看不到你在链接中描述的行为。

但是,我最近遇到了类似的问题,开放的开发工具改变了行为而不是因为控制台问题,而是因为打开工具改变了窗口的宽度 。 窗口宽度差异触发了我的案例中的底层错误。

相关文章在这里 。

您可以在开发人员控制台中将兼容模式设置为更高版本的IE(请参阅突出显示的部分) 在此处输入图像描述

添加到已经很好的答案(因为我无法评论 – 需要50个代表点),同意@ sam100rav的答案和@storsoc的评论,我发现在IE11版本11.1387.15063.0中更新版本为11.0.90 ( KB4462949 ), window.console确实作为空对象存在( window.console = {} )。 因此,我使用了@storsoc的polyfill的变体,如下所示。

 if (!window.console || Object.keys(window.console).length === 0) { window.console = { log: function() {}, info: function() {}, error: function() {}, warn: function() {} }; }