Замените некоторый текст с любой HTML-страницы перед ее отображением - PullRequest
4 голосов
/ 26 октября 2009

Я хотел бы скрыть любой текст, соответствующий шаблону, с любой HTML-страницы, прежде чем он отобразится.

Я пробовал что-то подобное с Greasemonkey:

var html = document.body.innerHTML;
html = html.replace( /some pattern/g, '???' );
document.body.innerHTML = html;

Текст, который я хочускрытие корректно заменяется на «???», но на короткое время, пока страница загружается, я вижу исходный текст.Как сказал crescentfresh, его нельзя исправить с помощью Greasemonkey.

Я знаю, что мог бы использовать прокси, например Proximodo , чтобы решить его, но я предпочитаю избегать его установки.

Какой самый простой способ сделать это, зная, что он должен работать в Firefox?

Для тех, кто заинтересован, я хочу использовать его, чтобы скрыть цены с любой страницы на компьютере моей подруги, чтобы позволить ей выбратьподарок.

1 Ответ

2 голосов
/ 26 октября 2009

С расширением вы, вероятно, можете это сделать.

Я точно не помню, но, возможно, LiveHttpHeaders перехватывает http-трафик перед тем, как попасть в браузер, что позволяет вам удалить то, что вы хотите.

Кроме того, если вместо ожидания загрузки всей страницы вы замените ее в событии DOMNodeInserted, это может быть достаточно быстрым, чтобы фактическое содержимое не отображалось.

Также, если вы никогда не делали расширение Firefox раньше, не паникуйте! есть даже компилятор расширений greasemonkey , который выполняет грязную работу и дает вам хорошую основу для начала. Я бы сделал это, а затем нашел бы событие window.onload и там вместо кода greasemonkey прикрепил событие DOMNodeInserted к документу.

Также (четвертое редактирование!) Она действительно хочет, чтобы вы прочитали ее мысли и выбрали подарок, который она хочет XD

...