Я работаю над плагином jQuery и пытаюсь создать единый кросс-браузерный консольный объект для отладки. Плагин будет использовать Firebug или FirebugLite, но также позволяет пользователю выбирать собственный консольный объект браузера, если он доступен. Для Safari/Chrome методы консоли принимают только один аргумент, тогда как API-интерфейс Firebug (который я пытаюсь реплицировать) принимает любое количество аргументов, которые печатаются как конкатенированная строка. Я использую следующий код, чтобы переопределить нативный метод журнала консоли:Глобальный объект консоли в Safari/Chrome сбрасывается
window.console._log = window.console.log;
window.console.log = function(){
window.console._log($.makeArray(arguments).join(", "));
};
У меня есть тестовая страница, которая будет срабатывать console.log («str1», «str2») команда по щелчку. Первые несколько раз сообщения журнала работают должным образом, но затем через некоторый период времени (обычно всего несколько секунд) сообщения журнала начинают печатать только первый аргумент. Это похоже на то, что объект консоли восстанавливается в исходное, собственное состояние и мой метод overridden log() уничтожается. Есть ли у кого-нибудь больше информации об этом или может быть обходной путь?