Я пишу расширение для Google Chrome и пытаюсь перейти на кодирование в HTML, CSS и Javascript с того типа кодирования, который я делал 40 лет назад. Это большая кривая обучения, но немного консольной регистрации очень поможет. (Кто помнит зеленые люминофорные дисплеи на старой памяти с железным сердечником Sperry Univacs? Теперь появилась консоль, которая могла бы рассказать вам, что происходит - смонтировать ленту, сменить диск или положить больше бумаги в принтер.) Но я отвлекся ,
Всего несколько дней назад мне удалось отправить сообщения в журнал консоли Google Chrome DOM Inspector из моего скрипта содержимого или фоновой страницы, например:
console.log = "ПОЛУЧЕННЫЙ ЗАПРОС ОТ СОДЕРЖАНИЯ СЦЕНАРИИ PEEK.JS";
Позже, если бы я осмотрел страницу, на которой был введен этот код, я бы увидел то же самое сообщение на консоли. Если бы эта строка выполнялась четыре раза, я бы видел четыре экземпляра этих сообщений в последовательности на консоли. Это было просто, но красиво.
Теперь на консоли ничего не появляется, если я не наберу "console.log", и в этом случае я вижу только последний экземпляр сообщения. В чем здесь проблема? Я что-то выключил в отладчике? Я неправильно пишу код? Должно ли это быть: "console.log (" Message Here ");" - (это всегда возвращает ошибку)?
Я потратил буквально часы, пытаясь найти ответ на этот вопрос, и я могу только догадываться, что вопрос настолько прост, что на него может ответить даже хорошо образованный ребенок. Альтернатива состоит в том, чтобы тратить больше времени, пытаясь найти мои ошибки по смыслу или по сообщениям. Лучше потратить мои часы на изучение того, как эффективно использовать инспектор для отладки.
Например, вчера, после реструктуризации того, что когда-то работало, кода, так чтобы он передавал массив из фона в контент, а не из фона, последовательно запрашивая каждый элемент из контента, расширение оборвалось, как и следовало ожидать. На консоли отображается одно сообщение об ошибке: «Ошибка во время вкладки executeScript: неизвестная ошибка». со ссылкой «chrome / ExtensionProcessBindings: 95» в правой части этой же строки. Очевидно, что сообщение об ошибке почти бесполезно. Нажав на ссылку, я попадаю на панель ресурсов, на которой справа отображается пустая рамка со словами "background.html". Это также бесполезно.
Чем эта информация вообще полезна? Мне потребовалось еще шесть часов, чтобы понять, что я переместил определение переменной в другое место кода, чтобы оно не было определено во время выполнения строки executeScript. Если бы в сообщении об ошибке говорилось, что параметр не определен в executeScript, я мог бы найти его примерно через десять минут.
Итак, вернемся к первоначальному вопросу - Я ХОЧУ ПРОСТО ОТВЕТИТЬ - не говорите мне писать функцию. Я видел консоль, отображающую то, что я хотел два дня назад, без написания каких-либо функций.