Я пытаюсь написать сценарий tampermonkey, который собирает document.location и заголовки в словаре. Погуглил немного, и решил, что я должен использовать какую-то глобальную переменную, но она не работает так, как я хочу.Получить заголовки всех запросов, связанных со страницей с tampermonkey
Вот сценарий:
// ==UserScript==
// @name My Fancy New Userscript
// @namespace http://your.homepage/
// @version 0.1
// @description enter something useful
// @author You
// @match *://*/*
// @grant none
// ==/UserScript==
if (unsafeWindow.resources == undefined) {
var unsafeWindow.resources = [];
}
var host = window.location;
unsafeWindow.resources.push(host);
console.log(unsafeWindow.resources);
При запуске он, я получаю следующее сообщение об ошибке:
ERROR: Execution of script 'My Fancy New Userscript' failed! unsafeWindow is not defined
Может быть, то, что я пытаюсь сделать, это не возможно?
Обновление: Попытка быть немного понятнее. Конечный результат должен привести к тому, что словарь будет иметь ключ document.location и словарь, содержащий имя заголовка и значение заголовка указанного местоположения в качестве значения.
{document.location = {"Headername" = "Header value", "Headername" = "Header value"}}
Конечный результат будет использоваться для создания таблицы с информацией в словаре. Что-то вроде этого:
/Patrik
unsafeWindow.resources будет никогда не работайте до тех пор, пока он не определен где-нибудь (вам нужно определить хотя бы небезопасное окно). Кроме того, можете ли вы прояснить, что вы имеете в виду под «Словарем»? вам нужно хранить их локально или что? – briosheje
Обновлено. Спасибо за комментарий! – PatrikJ
Я все еще не понимаю, чего вы точно хотите достичь, чтобы быть яснее: большой вопрос: вам нужно ХРАНИТЬ эту информацию, хранящуюся или ...? В двух словах, вы пытаетесь извлечь каждый ресурс, загруженный DOM, и сохранить его в объекте для последующей печати таблицы, это то, что вы хотите сделать? В любом случае имейте в виду, что использование unsafeWindow может открыть некоторые дыры в безопасности для вашего пользовательского скрипта, посмотрите на это в первую очередь: https://developer.mozilla.org/en-US/Add-ons/SDK/Guides/Content_Scripts/ Interacting_with_page_scripts – briosheje