Да, Adblock Plus - лучший способ, если применимо.
Код GM может не срабатывать вовремя, чтобы остановить весь ущерб, но - для хихиканья - рабочая версия вашего кода будет выглядеть примерно так:
// ==UserScript==
// @name turn_shit_off
// @namespace http://www.google.com
// @include http://www.xyz.com/*
// ==/UserScript==
var scripts = document.getElementsByTagName('script');
for (var J = scripts.length-1; J >=0; --J)
{
if (/foobar\.js/i.test (scripts[J].src) )
{
console.log ("Killed", scripts[J].src);
scripts[J].parentNode.removeChild (scripts[J]);
}
}
/*--- Now you have to unload any unwanted event handlers and/or timers
that were set before the above code could fire.
This is highly page-specific and may not be possible if anonymous
functions were used.
*/
Вы увидите, что он на самом деле удаляет элементы сценария.
Но, увы, изменение или удаление элементов script
само по себе не даст эффекта в большинстве случаев.За исключением может в коде с отложенной загрузкой / запуском (вещи, которые запускают onload
или имеют атрибуты defer
или async
).
У вас не будетлюбой эффект до явного противодействия обработчикам и таймерам, которые устанавливает фиктивный JS - что сильно зависит от страницы и не всегда возможно.
Запустите этот код, чтобы убедиться в этом сами.