【问题标题】:javascript: console.log not working in this context?javascript:console.log 在这种情况下不起作用?
【发布时间】:2012-03-22 18:36:09
【问题描述】:
(function( $ ){ $.fn.openlayers = function( mapElementId, options ) {
        alert(console.log);
        console.log(options);
        ...
    }
});

我正在尝试在 javascript 库中扩展功能,但令我惊讶的是,当我开始使用时,我意识到 console.log 没有记录任何内容。我知道由于 alert() 正在执行代码正确射击。然而,警报函数返回的响应似乎是"function(){}",对吗?或者实际上是console.log和空函数?

那么关于这里发生了什么以及为什么 console.log 不起作用的任何线索?


我想我可能找到了罪魁祸首。我正在使用 OpenLayers javascript 文件,我可以看到他们的库集

OpenLayers.Console={log:function(){},...

但是,这是大写的控制台,但也许这没有什么区别?我还必须在 OpenLayers 范围内,我真的看不出我是。所以我还是有点迷茫。但它可以解释为什么我看到一个空函数


这是我在加载发生此错误的应用程序后在 chrome 的调试窗口中键入“控制台”得到的输出。

assert: function (){}
count: function (){}
debug: function (){}
dir: function (){}
dirxml: function (){}
error: function (){}
group: function (){}
groupEnd: function (){}
info: function (){}
log: function (){}
profile: function (){}
profileEnd: function (){}
time: function (){}
timeEnd: function (){}
trace: function (){}
warn: function (){}
__proto__: Object

所以看起来有些东西,可能是 openlayers javascript 正在覆盖本机控制台。

【问题讨论】:

  • 您是否超出了联系console 的范围?你试过window.console.log吗?
  • console.log 不是一个空函数。你用的是什么浏览器?
  • chrome 和 firefox 在 alert() 响应中都返回一个空函数。 window.console.log,也返回相同的响应...
  • 这可能是相关的:stackoverflow.com/q/3265684/338803
  • @JoakimJohansson - 如果当前范围内没有 console,JS 引擎不会在下一个包含范围内查找,以此类推直到 window

标签: javascript jquery


【解决方案1】:

点击ALL,你肯定会看到console.log输出。

希望对你有帮助...!!!

【讨论】:

    【解决方案2】:

    在OpenLayer 脚本之前添加以下行,告诉它不要覆盖控制台功能。

    <script type="text/javascript">
        console.firebug=true;
    </script>
    

    【讨论】:

    • 好吧,不是我个人,而是从事这个项目的其他人可能有。所以这很可能就是这种情况。我会调查的。
    • 您找到解决此问题的方法了吗?我也有同样的问题
    猜你喜欢
    • 1970-01-01
    • 2021-11-15
    • 2012-07-26
    • 2017-11-26
    • 2010-12-29
    • 1970-01-01
    • 2021-08-05
    • 2011-11-14
    • 1970-01-01
    相关资源
    最近更新 更多