代码之家  ›  专栏  ›  技术社区  ›  Eric Nguyen

console.log()语句未出现在safari错误日志中

  •  5
  • Eric Nguyen  · 技术社区  · 15 年前

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

    4 回复  |  直到 11 年前
        1
  •  3
  •   Gagravarr    11 年前

    感谢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为其错误窗口实现控制台对象之前编写的。

    我已经把它去掉了,现在一切都正常了。谢谢,伙计们。

        2
  •  1
  •   Alex    15 年前

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

    在Windows版本中,我不能使用“开发”人员中的大部分内容,所有的javascript选项都不适合我。我只能使用

    • 打开页面
    • 用户代理
    • 显示截图编辑器
    • 禁用*
        3
  •  0
  •   SeanJA    15 年前

    在firefox中,我知道你现在需要打开firebug控制台才能使用console.*函数。也许是一样的?

        4
  •  0
  •   Breton    12 年前

    您可以尝试激活调试模式。我不知道这会不会有什么不同,但你可以尝试一下: Instructions for activating debug mode