Включить все страницы в tampermonkey (пользовательский скрипт)

Я должен включить все сайты в tampermonkey.. это скрипт, который я должен запустить

// ==UserScript==
// @name       Phishing Blockz
// @namespace  http://use.i.E.your.homepage/
// @version    0.1
// @description Phishing block based on hyperlinks
// @match      http://*/*
// @run-at     document-end

var req = new XMLHttpRequest();
req.open('GET', document.location, false);
req.send(null);
var headers = req.status;
var locheader=req.getResponseHeader("Location");
alert(headers);
alert(locheader);

Я сделал что-то не так? Пожалуйста, помогите мне запустить этот пользовательский скрипт на всех страницах в Chrome


person user1972757    schedule 18.03.2013    source источник
comment
Хоть сценарий покажи! Обрезка URL-адреса — это просто выбор отображения, это не проблема.   -  person Brock Adams    schedule 18.03.2013


Ответы (4)


// @match      http://*/*

будут соответствовать только адресам, начинающимся с http://..., но не https://... Например.

Используйте следующее, чтобы включить все адреса, если это то, что вам действительно нужно (включая локальные страницы, которые вы, возможно, сохранили на своем жестком диске!).

// @match      *://*/*

Примечание. Приведенный ниже метод также работает на момент написания статьи из-за потенциальной ошибки или недокументированной функции в TM2.12 (поэтому вполне может быть изменен в будущих версиях!!):

// @match      *
person Richard Plester    schedule 02.04.2013
comment
@match * не является допустимым шаблоном. См. страницу документа, там может быть более одной строки @match. Блок метаданных OP поврежден, и OP, похоже, отказался от этого вопроса. - person Brock Adams; 17.04.2013
comment
Позор OP, если он отказался, хотя это все еще полезный QA. Будет ли в целом правильный синтаксис // @match *//*/* ? Кстати, у меня есть скрипты с match *, работающие под TamperMonkey 2.12! - person Richard Plester; 17.04.2013
comment
Близко, вам нужно двоеточие. См. документ. Это интересно насчет * в Tampermonkey. Я отклоняюсь от правил Chrome, которые должны быть основными для @match как в Greasemonkey, так и в Tampermonkey. Интересно, работает ли Tampermonkey, несмотря на ошибку, а Chrome — нет. Я проверю это как-нибудь. - person Brock Adams; 17.04.2013
comment
Я попробовал это в ТМ, прежде чем отвечать/комментировать вопрос, относящийся к ТМ, и это определенно работает;) - person Richard Plester; 17.04.2013
comment
Ладно, проверил сам, * работает, а <all_urls> нет! В Tampermonkey нет ошибок даже в подробном режиме ни для одного из них. Все это ошибка, AFAIC, и она не совместима ни с Chrome, ни с Greasemonkey. Тем не менее, ваш ответ более правильный, чем я думал. +1. - person Brock Adams; 17.04.2013
comment
Документировано, что Tampermonkey не поддерживает ‹all_urls›, так что это функция. При дальнейшем расследовании я согласен, что match * является отклонением от документации расширений Chrome, которую TM предлагает в качестве справочной информации (вместо отдельной документации), так что это ошибка. Я изменю свой ответ (и сценарии!) на будущее. - person Richard Plester; 17.04.2013
comment
<all_urls> не предназначено для буквального соответствия. Документ был написан таким образом, чтобы означать http://www.google.com/ или http://www.facebook.com/ или https://stackoverflow.com/, другими словами, любой действительный URL-адрес может точно соответствовать только для запуска на этой странице URL-адреса. - person Ignat; 26.07.2017
comment
Tampermonkey больше не поддерживает '*, поэтому используйте более подходящие предложения, показанные здесь... - person Kevin; 03.12.2018

// @match *://*/*

Это должно найти все URL-адреса. Использование TamperMonkey/GreaseMonkey

// ==UserScript==
// @name         Match Every Site
// @namespace    http://tampermonkey.net/
// @version      1.1
// @description  I will pop up on every site!!
// @author       You
// @match        *://*/*
// @grant        none
// ==/UserScript==

alert("I am working!")

Это может быть полезно для расширений браузера на некоторых страницах:

Соответственно: *://*/* соответствует всем HTTP, HTTPS и WebSocket URL.

person Youssof H.    schedule 16.07.2018

Выполнение @include вместо @match работает очень хорошо

// ==UserScript==
// @name       Phishing Blockz
// @namespace  http://use.i.E.your.homepage/
// @version    0.1
// @description Phishing block based on hyperlinks
// @include     *
// @run-at     document-end

это работает на всех веб-сайтах в Интернете (проверено в TamperMonkey)

person əkaunt    schedule 18.02.2020

Реальный ответ будет иметь:

// @match https://*/*
// @match http://*/*
person FireyChicken    schedule 05.03.2020
comment
В последней документации с сайта tampermonkey.net/documentation.php#_match говорится, что можно простое включение 'http*://'. Это расширяет область применения, но я думаю, что маловероятно, что существуют другие протоколы, начинающиеся с http и не являющиеся http/https. - person powersource97; 30.07.2020