Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 06.03.2009, 14:56
Интересующийся
Отправить личное сообщение для Assassin Посмотреть профиль Найти все сообщения от Assassin
 
Регистрация: 02.03.2009
Сообщений: 11

Сообщение от Kolyaj Посмотреть сообщение
document.body.innerHTML = document.body.innerHTML.replace('AzriMan', 'AndryMan');
Грубо конечно
К сожалению, при вставке этого кода - ничего не произошло.

Сообщение от x-yuri
Assassin, т.е. цель - защита от XSS атак?
Нет

Сообщение от Gvozd
полагаю, что наоборот))))
Хм, я такого не говорил, я лишь приводил аналогии.
Ответить с цитированием
  #12 (permalink)  
Старый 08.03.2009, 13:35
Интересующийся
Отправить личное сообщение для Assassin Посмотреть профиль Найти все сообщения от Assassin
 
Регистрация: 02.03.2009
Сообщений: 11

Ребят? Неужели никто не поможет? ):
Ответить с цитированием
  #13 (permalink)  
Старый 08.03.2009, 14:08
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

так ведь чтобы помочь нужно знать цель - "для чего это все?"
Ответить с цитированием
  #14 (permalink)  
Старый 08.03.2009, 14:20
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 03.04.2008
Сообщений: 6,234

не знаю почему у вас не работает этот код.
по крайней мере на простейших страницах он срабатывает.
вот, мой пример рабочей страницы
<html>
<head>
<script type="text/javascript">
window.onload=function(){
document.body.innerHTML = document.body.innerHTML.replace(/AzriMan/g, 'AndryMan');

}
</script>
</head>
<body>
qwe<br/>
azriMan<br/>
qwe<br/>
<table border="1">
	<tr>
		<td>AzriMan</td><td>AzriMa_n</td>
	</tr>
	<tr>
		<td>AzriM_an</td><td>AzriMa_n</td>
	</tr>
</table>
AzriMan<br/>
</body>
</html>

я заменил 'AzriMan' на /AzriMan/g для того, чтобы все вхождения заменялись.без этого тоже работает, но заменяет только первую строку.
с целью разъяснения этой функциипочитайте статью про регулярные выражения

вот еще одна вариация кода по замене, более сложная.
window.onload=function(){
all_elements=document.getElementsByTagName('*');
for(i=0,s=all_elements.length;i<s;i++)
	if(all_elements[i].tagName!="SCRIPT")
		for(j=0,s_=all_elements[i].childNodes.length;j<s_;j++)
			if(all_elements[i].childNodes[j].nodeType==3)
				all_elements[i].childNodes[j].textContent=all_elements[i].childNodes[j].textContent.replace(/AzriMan/g, 'AndryMan');
}

менее компактно.
возмжно более медлено.хотя не факт.
возможно быстрее даже на больших документах.
во всяком случае в этом коде не происходит перерисовки всего дерева, как в предыдущем коде.
в общем, потестите.
Код можно изменять и дополнять разными способами, от разных аспектов вашей задачи.можно сделать рекурсивно(навряд ли код выиграет от этого.скорее проиграет по скорости).
сожно ввести больше тегов-исключений.
ну, да я думаю вы сами дальше разберетесь.
у вас есть на руках два работающих куска кода.дерзайте

Последний раз редактировалось Gvozd, 08.03.2009 в 14:24.
Ответить с цитированием
  #15 (permalink)  
Старый 08.03.2009, 22:31
Интересующийся
Отправить личное сообщение для Assassin Посмотреть профиль Найти все сообщения от Assassin
 
Регистрация: 02.03.2009
Сообщений: 11

Эцсамое.... Всем спасибо за внимание, за попытку помочь) Видимо я не так истолковал цель, нихрена не сработало
Ответить с цитированием
  #16 (permalink)  
Старый 08.03.2009, 23:14
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 03.04.2008
Сообщений: 6,234

а по другому сформулировать цель слабо?
то. что вы попросили мы вам написали.
и оно работает.так, что изъясняйтесь более точно в следующий раз, чтобы не тратить свое, и ЧУЖОЕ время понапрасну.время знаете ли много стоит
Ответить с цитированием
  #17 (permalink)  
Старый 08.03.2009, 23:44
Интересующийся
Отправить личное сообщение для Assassin Посмотреть профиль Найти все сообщения от Assassin
 
Регистрация: 02.03.2009
Сообщений: 11

Что ж, прошу прощения за ваше потраченное время.
Ответить с цитированием
  #18 (permalink)  
Старый 15.03.2009, 03:22
Mak-Mak
 
Сообщений: n/a

Gvozd спасибо
Gvozd спасибо, искал такой вот скриптик...!!! мне был нужен, что бы убирать из блока со ссылками tak.ru, надпись "Оплаченая реклама:" всё работает
Ответить с цитированием
  #19 (permalink)  
Старый 27.06.2009, 17:05
300
 
Сообщений: n/a

Подскажите, а как заменить строку <font tmp color=red> во всём тексте? Я не понимаю, как составить регулярное выражение.

str = new RegExp(/<font tmp color=red>/,'g')
так не работает.
Ответить с цитированием
  #20 (permalink)  
Старый 27.06.2009, 17:07
300
 
Сообщений: n/a

И ещё. Есть форма, в которое есть поле, например name=fld. Нужно взять из него значение и искать его на всей странице, а потом заменить на другое. Т.е. как использовать fld.value в глобальном поиске?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
всплывающая java script подсказка ehevnlem Элементы интерфейса 2 16.12.2008 15:57
В IE java Script Error! Хелп! web64 Общие вопросы Javascript 5 04.09.2008 16:09
Java script drug & drop MikeJn Общие вопросы Javascript 6 15.08.2008 12:29
Вакансия: Java Script программист, Москва, з/п от 50000 руб. Pavel Работа 0 02.07.2008 16:37
HELP: Java Script Error: “text” is undefined Aram Khachaturyan Общие вопросы Javascript 2 11.04.2008 15:57