【发布时间】: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,也返回相同的响应...
-
@JoakimJohansson - 如果当前范围内没有
console,JS 引擎不会在下一个包含范围内查找,以此类推直到window?
标签: javascript jquery