Как остановить OpenLayers от загрузки Firebug Lite - PullRequest
4 голосов
/ 16 августа 2011

Когда я начал работать с OpenLayers, console.log перестал работать, и я продолжал получать эту ошибку в Chrome Terminal.

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

Сначала я не понял, что это был OL, поэтому я удалил firebugоблегченный плагин.Затем я проверил источник OL и обнаружил, где он пытается внедрить firebug.

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

Есть ли способ запретить OL делать это, кроме изменения источника.Также перезаписывается window.console

Ответы [ 3 ]

4 голосов
/ 25 августа 2011

Я встретил ту же проблему.Я исправил это на данный момент, добавив:

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

перед загрузкой скрипта openlayer.

причина: console.log раньше работал в предыдущей версии Openlayer, но не сейчас, поэтому я проверил найденный исходный код:

if (! window.console ||! console.firebug) {...

, что означает, что я думаю, что если консоли FIREBUG нетконсоль будет очищена и перезаписана.

Я думаю, что это должно быть ошибкой, поэтому я просто не стал вдаваться в подробности и постараюсь исправить ее как можно скорее, ожидая исправления ошибки.парнем из Openlayer.

надеюсь, что это сработает для вас, если нет, пожалуйста, дайте мне знать.

2 голосов
/ 16 августа 2011

вы включаете в код внешний файл, такой как firebug.js или что-то подобное ... Я не думаю, что он должен что-то делать по умолчанию, и он должен иметь код hv sm, который проверяет, существуют ли определенные объекты в области видимости или что-то в этом роде.

Надеюсь, вы не используете пример кода, и именно поэтому вы столкнулись с этой проблемой.

также убедитесь, что у вас есть правая версия OL, а не исправленная или бета-версия. пожалуйста, обновите нас.

Ссылка, которую я нашел: http://osgeo -org.1803224.n2.nabble.com / Firebug-Error-Invalid-Object-Initializer-td2866563.html

Кстати, на этом стоят открытые слои: добавить пространство имен OpenLayers.Console и ряд методов, которые позволяют регистрировать сообщения об ошибках - когда firebug.js включен на страницу, приложение работает в режиме «отладки» - расширение Firebug или Firebug Lite обрабатывает вызовы OpenLayers.Console в зависимости от наличие

0 голосов
/ 21 августа 2011

В итоге я просто закомментировал строку, которая добавляет фрейм. И я загружаю скрипт перед OpenLayers, который создает резервную копию window.console.

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