javascript:console.log不能在这种情况下工作?
(function( $ ){ $.fn.openlayers = function( mapElementId, options ) { alert(console.log); console.log(options); ... } });
我试图扩展javascript库中的function,但很多我的惊喜,当我开始时,我意识到console.log
没有记录任何内容。我知道代码正在执行,因为alert()
正常启动。 但是,来自alert函数的返回响应似乎是"function(){}"
,这是正确的吗? 或者实际上是console.log和空函数?
那么关于这里发生了什么的线索,以及为什么console.log无效?
我想我可能找到了罪魁祸首。 我正在使用OpenLayers javascript文件,我可以看到他们的库设置
OpenLayers.Console={log:function(){},...
但是,这是大写的控制台,但也许这没有什么区别? 我也必须在OpenLayers范围内,我无法真正看到我。 所以我仍然有点困惑。 但它可以解释为什么我看到一个空function
这是在加载发生此错误的应用程序后,在chrome的调试窗口中键入“console”得到的输出。
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覆盖了本机控制台。
在 OpenLayer脚本之前添加以下行,告诉它不要覆盖控制台function。
只需单击ALL,您一定会看到console.log输出。
希望能帮助到你…!!!