Выполнение сценария greasemonkey на не-HTML странице - PullRequest
2 голосов
/ 30 сентября 2010

У меня есть следующий довольно простой скрипт greasemonkey:

var newloc = location.href.replace(/^(.*)-xyz-(.*)$/i, "$1$2");
if (newloc != location.href)
    location.href = newloc;

То есть, он в основном удаляет "-xyz-" из URL и загружает страницу снова. Поэтому, если вы перейдете на «www.example.com/a-xyz-b/», он перезагрузит страницу на «www.example.com/ab/".

».

Теперь скрипт работает нормально, если страница является HTML-страницей. Но если я открою файл .jpg или что-то, что , а не HTML, сценарий вообще не запустится.

Это просто ограничение жировой обезьяны? Что это работает, только если страница на самом деле текст / HTML? Как можно сделать эту функцию альтернативной?

1 Ответ

2 голосов
/ 01 октября 2010

Да, Greasemoney срабатывает при событии DOMContentLoaded, которое, похоже, не срабатывает на медиа-объектах (без DOM).

Чтобы обойти это, стреляйте по родительским страницам / ссылкам и меняйте там ссылки.

Или, если имена файлов находятся на локальном компьютере, используйте текстовый редактор или пакетное задание для переименования / перезаписи ссылок / имен.

Если ни один из этих обходных путей не является жизнеспособным, опубликуйте конкретные сведения о том, как вы передаете эти URL-адреса в FireFox (назовите используемый браузер, если он не FF).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...