如何阻止OpenLayers加载firebug lite

How to stop OpenLayers from loading firebug lite

本文关键字:firebug lite 加载 OpenLayers 何阻止      更新时间:2023-09-26

当我开始使用OpenLayers时,console.log停止工作,并且我在chrome终端中不断得到此错误。

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

一开始我没有意识到它是OL,所以我卸载了firebug lite插件。然后我检查了OL源,找到了它试图注入firebug的地方。

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

除了修改源代码之外,是否有办法防止OL这样做?同时,它覆盖了window。console

我遇到了同样的问题。我通过添加:

来修复它。
<script type="text/javascript">
        console.firebug=true;//fix the openlayer problem
</script>

在加载openlayer脚本之前。

的原因:console.log曾经在以前版本的Openlayer中工作,但现在不行,所以我检查了源代码,发现有:

如果(

!窗口。Console || ! Console .firebug){…

这意味着我猜如果没有FIREBUG控制台,控制台将被清理和覆盖。

我认为这应该是一个bug,所以我只是没有深入研究这个问题,并试图尽快修复它,等待Openlayer家伙修复bug。

希望它对你有用,如果不行,请告诉我。

你是否在代码中包含一个外部文件,如firebug.js或类似的东西…我认为默认情况下它不应该做任何事情,它必须有sm代码来检查某个对象是否存在于作用域或其他东西中。

希望你没有使用一些示例代码,这就是为什么你面临这个问题。

还要确保你有正确的OL版本,而不是打补丁的版本或测试版。请告诉我们最新情况。

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

btw这是openlayers站在上面:添加OpenLayers。控制台命名空间和一些允许记录错误消息的方法——当一个页面中包含Firebug .js时,应用程序以"调试"模式运行——Firebug扩展或Firebug Lite处理OpenLayers。基于可用性的控制台呼叫

我最后只是注释掉了添加iframe的那行。我在OpenLayers之前加载了一个脚本,它创建了window.console.

的备份。
window.console2 = {};
for(key in window.console)
    window.console2[key] = window.console[key];