Я хочу использовать свою собственную консоль для своего расширения, где я буду печатать различную отладочную информацию. Я думал, что сделаю это, сделав
window.open("chrome://myextension/content/console.xul"..
и затем печатать в текстовые поля этого окна. Вы уже видите что-то не так здесь? =)
Теперь у меня есть небольшая проблема, window.open немедленно возвращается, и если я затем продолжаю и немедленно использую функцию myconsole.log ("boo"), то содержимое в этом новом окне еще не загружено, и я получу ошибки. Это означает, что мне нужно дождаться окончания загрузки консоли, прежде чем я смогу печатать на нее. Каков будет правильный способ сделать это? Я мог бы использовать nsITimer или thread.sleep внутри метода log, чтобы продолжать проверять, загружен ли он уже, но мне это не нравится. Я также не знаю, как правильно использовать событие window.onload, потому что я вижу только что-то вроде window.onload = function () {весь мой код расширения ..}, который мне тоже не нравится.
Я хочу, чтобы он использовался в любое время где угодно, как-то так
console = Cc["@myconsole;1"].getService().wrappedJSObject;
console.log("foo");
Любой совет? Спасибо за терпение =)