Доступ к переменным Greasemonkey/Tampermonkey из консоли браузера?
Это пример кода из пользовательского скрипта:
var ExampleObj = {
somevar1:'value1',
somevar2:'value2',
somevar3:'value3',
somefunction1:function(){
//do sth
},
somefunction2:function(){
//do sth else
}
}
И когда я пытаюсь вызвать свои функции из скрипта: все в порядке, но я не могу получить доступ из консоли браузера:
(ReferenceError: ExampleObj не определен)
Мои настройки Greasemonkey/Tampermonkey (Метаданные):
// ==UserScript==
// @name [this is my secret]
// @version 1
// @run-at document-end
// @include [this is my secret]
// @grant none
// ==/UserScript==
Скрипт работает; Мне просто нужен доступ к этим функциям из консоли браузера.
1 ответ
В @grant none
В этом режиме сценарии по-прежнему работают в защищенной области видимости. Поместите ваш объект в глобальную область, изменив:
var ExampleObj = {
Для того, чтобы:
window.ExampleObj = {
Тогда вы сможете увидеть и использовать этот объект. (Обратите внимание, что целевая веб-страница также может видеть и использовать ее.)
См. " Доступ к переменным из Greasemonkey для Page и наоборот" для получения дополнительной информации и сценариев, когда @grant
это не никто.