Пара вещей, сначала просто ...
(1) В GM вы не можете итерировать коллекции таким образом. Таким образом, вместо:
for (thisTextarea in allTextareas) {
if (allTextareas[thisTextarea].getAttribute('src') == 'some url.js') {
Вы должны использовать:
for (var J = allTextareas.length - 1; J>=0; --J) {
if (allTextareas[J].getAttribute('src') == 'some url.js') {
etc.
(2) К моменту запуска Greasemonkey эти скрипты уже будут загружены.Перезапись источника тега скрипта может ничего не делать, кроме как вызвать нестабильную операцию.
Блокировать загрузку этих скриптов вообще, затем использовать GM, чтобы переписать их src
- или, что еще лучше, просто создать новые теги <script>
с нужным JS.
Чтобы заблокировать эти сценарии, вам потребуется новое дополнение.Вот четыре, которые могут сделать эту работу ... лучше всего, но наиболее навязчиво, во-первых:
- RequestPolicy
- Adblock Plus
- NoScript
- YesScript
Все эти дополнения имеют преимущества снижения уязвимости до плохойscripts / sites / flash и ускорения загрузки страниц.