2011-08-16 95 views
4

當我開始使用OpenLayers時,console.log停止工作,並且我一直在chrome終端中出現此錯誤。如何阻止OpenLayers加載firebug lite

GET http://127.0.0.1/my/private/dir/undefined/firebug.html 404 (Not Found) 

起初,我並沒有意識到這是OL,所以我卸載了螢火蟲精簡版插件。然後我檢查了OL來源,發現它試圖注入螢火蟲。

y=document.createElement("iframe");y.setAttribute("src",o+"/firebug.html"); 

有沒有一種方法可以防止OL修改源代碼。此外,它的覆蓋window.console

+0

google chorme上會發生什麼? – Baz1nga

+0

它試圖加載firebug.html。此外,我很確定window.console被覆蓋,這真的很煩人... –

回答

4

我遇到了同樣的問題。 我現在通過加入:

<script type="text/javascript"> 
     console.firebug=true;//fix the openlayer problem 
</script> 

在加載外接腳本之前。

的原因:使用以前的版本Openlayer的工作 的console.log,但不是現在,所以我檢查源代碼中發現的有:

如果(window.console ||控制檯! .firebug){...

這意味着我猜如果沒有FIREBUG控制檯,控制檯將被清理並覆蓋。

我認爲它應該是一個bug,所以我只是沒有進一步深入,並嘗試儘快修復它,等待Openlayer人修復的bug。

希望它適合你,如果沒有,請讓我知道。

+1

甜美!前一陣子我放棄了。 –

2

你是否包括一個像firebug.js或類似的東西在代碼中的外部文件..我不認爲它應該做任何事情的defualt,它必須高清sm代碼,檢查是否一定對象存在於範圍之內。

希望你沒有使用一些示例代碼,這就是爲什麼你面臨這個問題。

還確保您擁有OL版本,而不是修補版本或測試版本。 請更新我們。

,我找到了一個鏈接:http://osgeo-org.1803224.n2.nabble.com/Firebug-Error-Invalid-Object-Initializer-td2866563.html

順便說一句,這是的OpenLayers站穩其上: 添加OpenLayers.Console命名空間和若干允許錯誤消息的測井方法 - 當包括在firebug.js頁面中,應用程序以「調試」模式運行--Firebug擴展或Firebug Lite處理OpenLayers.Console調用取決於可用性

+0

不。它試圖加載螢火蟲時,拋出異常 –

+0

我發佈了一個鏈接..檢查它 – Baz1nga

+0

你沒有回答我的問題。我問是否有辦法完全阻止OL接觸console.log或試圖加載螢火蟲。無論如何,我繼續並修改OL源,並且工作正常。順便說一句,我正在使用穩定版本。 –

0

我剛剛註釋掉添加iframe的行。我在OpenLayers之前加載一個腳本,它創建了window.console的備份。

window.console2 = {}; 
for(key in window.console) 
    window.console2[key] = window.console[key];