(function($){ $.fn.openlayers = function(mapElementId, options) {
alert(console.log);
console.log(options);
...
}
});
我試着去在一個JavaScript庫擴展功能,但令我吃驚的,當我開始我意識到什麼也沒有被console.log
記錄..我知道正在執行的代碼由於alert()
正常觸發。但是,來自警報功能的返回響應似乎是"function(){}"
,這是正確的嗎?或者實際上是console.log和空函數?javascript: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'嗎? – 2012-03-05 09:16:26
'console.log'不是一個空的函數。你使用的是什麼瀏覽器? – 2012-03-05 09:16:35
chrome和firefox都會在alert()響應中返回一個空函數。 window.console.log,返回相同的響應以及... – netbrain 2012-03-05 09:19:24