【问题标题】:Windows vista Internet Explorer 9 console.logsWindows Vista Internet Explorer 9 控制台.logs
【发布时间】:2013-09-11 05:07:33
【问题描述】:

我在 vista 上遇到 IE9 问题。我使用了 console.logs/errors/warns,但如果我还没有打开开发人员工具,这似乎破坏了 IE9(找到了很多关于原因的文章)。所以我应用了以下内容使 console.log 可用于 ie9

window.console.log = function(){}
window.console.error = function(){}
window.console.warn = function(){}
window.console.info = function(){}
window.console.debug = function(){}

所以这似乎加载到了之前的位置。过去我也遇到过一个问题,如果对象定义的结尾有逗号,那么 IE 也会中断。

示例:

a = {a:1, b:2, c:3,}

我正在使用CoffeesScript,所以我假设这不是问题。

所以我的问题是似乎有一种 javascript 方法破坏了 Internet Explorer。但仅在尚未打开开发人员工具时。但是不打开开发者工具我是看不到错误的。

我可以在不初始化开发者控制台的情况下让我的 javascript 错误在 windows vista IE9 上可用吗

谢谢

【问题讨论】:

标签: javascript windows-vista


【解决方案1】:

window.console 本身在调试器未运行时未在 IE 中定义,因此您需要为 IE 添加此第一行:

window.console = {};
window.console.log = function(){}
window.console.error = function(){}
window.console.warn = function(){}
window.console.info = function(){}
window.console.debug = function(){}

就个人而言,我建议这样做会照顾所有浏览器:

if (!window.console) {
    window.console = {};
    window.console.log = function(){}
    window.console.error = function(){}
    window.console.warn = function(){}
    window.console.info = function(){}
    window.console.debug = function(){}
}

如果这对困扰您的特定问题没有帮助,那么您可以尝试在可能出现问题的区域周围安装自己的异常处理程序,并尝试自己捕获异常。如果您无法使用调试器,您可能必须将有关异常的详细信息放在屏幕上(将它们附加到可见的 div 或将它们放在警报中)。

【讨论】:

  • 感谢您的回复,但我认为我没有在我的问题中解释自己。我确实应用了您上面的 JS(尽管您的第二个示例更好!)。但是,我仍然收到一个错误,导致我的页面无法加载。但是页面将​​在控制台打开时加载
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-06
  • 2012-02-29
  • 1970-01-01
  • 2011-03-20
相关资源
最近更新 更多