console.log()语句不会出现在Safari错误日志中

时间:2009-09-17 23:30:22

标签: javascript safari debugging webkit

我正在调试特定于Safari的javascript问题,我无法将console.log输出到错误日志。这是Safari的documented feature(我使用的是4.0.3版本)。但是,我的代码中的这些语句似乎被忽略了。有什么想法吗?我没有通过谷歌找到线索。

4 个答案:

答案 0 :(得分:3)

感谢Breton和SeanJA提出的直接在控制台中测试并制作示例文件的建议。在这之后,我意识到console.log实际上是在一个孤立的环境中工作。这让我意识到它必须是我的开发环境特有的东西。检查周围,我发现早期有一些JavaScript被加载,旨在为非Firebug启用的浏览器定义控制台对象。

if (!("console" in window) || !("firebug" in console))
 {
     var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
     "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];

     window.console = {};
     for (var i = 0; i < names.length; ++i)
         window.console[names[i]] = function() {}
 }

这显然是在Safari为其错误窗口实现控制台对象之前编写的。

我删除了它,现在一切正常。谢谢,伙计们。

答案 1 :(得分:1)

您使用的是Mac还是Windows版本?

在Windows版本中我无法使用“开发”中的大部分内容,没有任何javascript选项适合我。我只能用

  • 使用
  • 打开页面
  • 用户代理
  • 显示片段编辑器
  • 禁用*

答案 2 :(得分:0)

在Firefox中我知道您现在需要打开firebug控制台以使控制台。*功能正常工作。也许它是一样的?

答案 3 :(得分:0)

您可以尝试激活调试模式。我不知道这是否会产生任何影响,但您可以尝试一下:Instructions for activating debug mode