Я заметил странное поведение, при котором мои console.log
заявления ничего не делали. Я, наконец, отслеживали его к внешнему сценарию:Внешние javascript hijacks console.log
<!-- Load the systems bio heatmap package -->
<script type="text/javascript" src="http://systemsbiology-visualizations.googlecode.com/svn/trunk/src/main/js/load.js"></script>
<script type="text/javascript">
// uncommenting the following line ruins console.log
// systemsbiology.load("visualization", "1.0", {packages:["bioheatmap"]});
</script>
К сожалению, этот скрипт используется для запуска только пакет Heatmap для Google диаграмм (AFAIK).
Есть ли способ как-то создать резервную копию console.log
, а затем восстановить ее после выполнения кода? Я попытался сделать мелкую копию, но не повезло:
<!-- Load the systems bio heatmap package -->
<script type="text/javascript" src="http://systemsbiology-visualizations.googlecode.com/svn/trunk/src/main/js/load.js"></script>
<script type="text/javascript">
var temp = console.log;
// the following line ruins console.log
systemsbiology.load("visualization", "1.0", {packages:["bioheatmap"]});
console.log = temp;
console.log('test'); // does not work
</script>
Теперь я прошу кого-то, кто знает, что он делает.
Заранее за вашу помощь.
Где твоя попытка «мелкой резервной копии, но ей не повезло»? Я уверен, что есть более простой способ, но вы могли бы сделать это: var logger = console.log.bind (console); 'перед неудачной частью, а затем использовать' console.log = logger; ', чтобы восстановить его, может быть? – Ian
Я бы открыл ошибку для проекта. [B] ioheatmap.js, строка 682 отключается, если firebug отсутствует. Это игнорирует другие браузеры, такие как Chrome. – gpojd
* «не работает» * означает, что именно? –