Показать сообщение отдельно
  #1 (permalink)  
Старый 24.03.2009, 12:34
Интересующийся
Отправить личное сообщение для the_name Посмотреть профиль Найти все сообщения от the_name
 
Регистрация: 24.03.2009
Сообщений: 15

User JS! (нужна консультация)
Уважаемые форумчане, помогите пожалуйста разобраться со следующими вопросами:


1. Как при помощи пользовательского JS ПРЕДОТВРАТИТЬ исполнение вражеской функции с чужой странички, если я знаю ее имя (showBanner), но не знаю положения в DOM (странички генерятся динамически, и функция showBanner располагается по разному)?

2. Как в теле хтмл-документа находить и заменять конкретный текст на другой конкретный текст? Например, мне надо везде в документе слово "пищевод" заменить на слово "кирпичи", чтобы весь остальной текст остался нетронутым? Пусть даже этот текст содержится в объявлении тега. То есть чтобы хтмл-текст
"что угодно пищевод <a href="www.ru" пищевод>ссылка</a>"
был заменен на
"что угодно кирпичи <a href="www.ru" кирпичи>ссылка</a>".
Как это сделать?

Сразу скажу, что JS я знаю достаточно поверхностно. Вообще меня больше волнует первый вопрос. Как несложно догадаться, хочу убить злую рекламу. Для этого я использовал следующий скрипт:

if(location.hostname.indexOf('porno-xxx.ru') != -1)
{
document.addEventListener (
    'load',
    function () 
    {
	var bnr = document.getElementById("banner001");
	var prnt = bnr.parentNode;
	prnt.removeChild(bnr);
	bnr = document.getElementById("banner002");
	prnt = bnr.parentNode;
	prnt.removeChild(bnr);
    },
    false
  );	
}


Скрипт работает нормально, но есть проблема. Я удаляю два тега DIV с идентификаторами banner001 и banner002, куда вражеская функция (showBanner) подгружает баннер. Скрипт срабатывает по факту загрузки страницы, и поэтому с момента окончания загрузки баннера до момента окончания загрузки страницы (несколько секунд) баннер красуется на страничке, повергая меня в ярость . Как убить функцию showBanner?!?!?!

На всякий случай опишу врага. Объявляется функция следующим образом:
var showBanner = function(id, params){
код функции
}
При этом лежит она прямо на самой страничке в одном из тегов <script> </script>. Тег нельзя отследить с помощью конструкций типа document.getElementsByTagName("script")[k] и т.п., так как на разных страничках подопытного сайта он лежит то последним, то где-то посередине... Как повезет, короче.

Последний раз редактировалось the_name, 24.03.2009 в 12:46.
Ответить с цитированием