Вопрос по – console.log не работает при использовании в скрипте Firefox, Greasemonkey

11

Мой userScript печатает некоторую информацию, используяconsole.log().

Это прекрасно работает в Chrome, но когда я устанавливаю этот пользовательский скрипт в Firefox (Greasemonkey), веб-консоль в Firefox ничего не отображает.

Я искал решение, и некоторые предложили использоватьunsafeWindow но это также не показывает какой-либо вывод. более тогоunsafeWindow нельзя использовать для хрома. Я даже установил Firebug, но это было бесполезно. Как я могу решить это?

Например, я попробовал этот скрипт в Firefox:

// ==UserScript==
// @name        console
// ==UserScript==
console.log("hello");

Ваш Ответ

3   ответа
16

что он не работает при установке через Greasemonkey, верно?
Недавно,Greasemonkey сломал console.log (New!Сообщение об ошибке). Теперь, чтобы увидеть результаты равнинеconsole.log() позвонить с Greasemonkey, нужно искать вFirefox's Ошибка консоли, а не Firebug.

Вы можете увидеть консоль ошибок FF, нажав:CtrlShiftJ.

However, ты можешь использоватьunsafeWindow.console.log() в обоих скриптах Chrome и Greasemonkey. Chrome теперь имеет ограниченную поддержкуunsafeWindow.

Если вы используетеunsafeWindow, у вас есть доступ ко всему спектруФункции регистрации Firebug от Greasemonkey. (Firebug должен быть установлен, и он все еще может не работать в пользовательских скриптах Chrome; я не тестировал этот способ некоторое время.)

В Firefoxif Firebug is not installed, or it is not active for the page, затемunsafeWindow.console.log() вызовы будут отображаться в новой «веб-консоли»; (CtrlShiftK).
Вам нужно использоватьunsafeWindow когда внутри сценария Greasemonkey.

Обратите внимание, что Firefox в настоящее время поддерживаетconsole.log(), console.info(), console.warn(), а такжеconsole.error() изначально - Firebug не требуется.

я удалил firebug и добавил unsafeWindow мой код сейчас// ==UserScript== // @name console // ==UserScript== unsafeWindow.console.log('hello'); все еще ничего не отображается в моей веб-консоли user1275375
Я попробовал, это работает. Помните, что Firebug должен быть отключен для страницы, и вы должны использоватьunsafeWindow если ваш сценарий не введен.
Смотрите обновленный ответ.
я пробовал это, но ничего не отображается в веб-консоли user1275375
это работает, если я используюunsafeWindow.console.log() в firebug, но как мне получить вывод в webConsole. нет ли способа получить вывод без использования firebug. user1275375
5

если вопрос касается входа в консоль с помощью Greasemonkey (могу поклясться, что увидел тег), почему бы не использоватьGM_log метод?

// ==UserScript==
// @name          GM_log Example
// @namespace     http://www.example.com/
// ==/UserScript==

GM_log("This is an example of GM_log");

Или я что-то упустил?

PS: вы также можете проверитьjavascript.options.showInConsole в о: конфиг. так должно бытьtrue.

Да, вы можете использоватьGM_log, но он не является портативным или тестируемым. Кроме того, это в значительной степени отстой по сравнению сconsole API - как собственный, который теперь поддерживается большинством браузеров, так и очень приятный консольный API-интерфейс Firebug.
1


window.log("<message goes here>"); неunsafeWindow.console.log("<msg>"); какunsafeWindow а такжеconsole придумать как неопределенный. Попробуйте, так как я уверен, что именно так вы и должны делать в более поздних версиях браузеров и т. Д.

Похожие вопросы