Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.11.2008, 13:18
Профессор
Отправить личное сообщение для alexKniaz Посмотреть профиль Найти все сообщения от alexKniaz
 
Регистрация: 14.10.2008
Сообщений: 186

Не парсит данные.
Странно, но ничего не выводит. Ajax-а здесь пока, конечно нет, тест идёт на логически верной строке.
<html>
<head>
<script type="text/javascript">
function parseData(code)
{
var out=new String(code);
var re=<expand>/g;
out=out.replace(re,'<div class="expand">');
re=</expand>/g;
out=out.replace(re,'</div>');
re=<link=/g;
out=out.replace(re,'<a target="content" href=');
re=</link>/g;
out=out.replace(re,'</a>');
return out;
}
   
function  heading_loaded()
{
var xml='<expand>Это-DIV</expand><link="javascipt.ru">А это-ссылка</link>';
alert(xml);
document.writeln(parseData(xml));
}
heading_loaded();
</script>
</head>
<body></body>
</html>

Вообще ничего не выводится...
Ответить с цитированием
  #2 (permalink)  
Старый 01.11.2008, 13:22
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

alexKniaz,
вам, пожалуй, следует поглядывать на сообщения об ошибках в браузере, прежде чем создавать тему на форуме.
Ответить с цитированием
  #3 (permalink)  
Старый 01.11.2008, 13:39
Профессор
Отправить личное сообщение для alexKniaz Посмотреть профиль Найти все сообщения от alexKniaz
 
Регистрация: 14.10.2008
Сообщений: 186

Вообще, никаких сообщений не было.
Ну, а вот-вторых,я уже разобрался...
Ответить с цитированием
  #4 (permalink)  
Старый 01.11.2008, 13:45
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

У вас там синтаксические ошибки, не могло не быть сообщений.
Ответить с цитированием
  #5 (permalink)  
Старый 01.11.2008, 14:29
Профессор
Отправить личное сообщение для alexKniaz Посмотреть профиль Найти все сообщения от alexKniaz
 
Регистрация: 14.10.2008
Сообщений: 186

<!--
Главный файл справки сайту "http://anomalyz.ucoz.ru. Полностью основан на Ajax и XML
-->
<html>
 <head>
  <script type="text/javascript">
   function getPageContent()
   {
   
   }
   function parseData(code)
   {
    out=new String(code);
	Reg=new RegExp('<expand>','gi');
	out=out.replace(Reg,'<div class="expand">');
	Reg=new RegExp('</expand>','gi');
	out=out.replace(Reg,'</div>');
	Reg=new RegExp('<link=','gi');
	out=out.replace(Reg,'<a href=');
	Reg=new RegExp('</link>','gi');
	out=out.replace(Reg,'</a>');
	return out;
   }
   
   function  heading_loaded()
   {
	xml_code=frames['heading'].document.getElementsByTagName('div')[0].innerHTML;
	document.writeln(parseData(xml_code));
   }
  </script>
 </head>
 <body>
  <iframe name="heading" src="help-data/index.html" onload="heading_loaded();" display="none"></iframe>
 </body>
</html>


И файл help-data/index.html
<div>
<expand>Это див</expand>
<link="http://javascript.ru">А это- ссылка</link>
<expand>
 <link="zadornow.net">Тест вложенности</link>
</expand>    
</div>


По идёё, в итоге должен сгенерится такой код:
<div class="expand">Это див</div> <a href="http://javascript.ru">А это-ссылка</a> <div class="expand"> <a href="zadornow.net">Тест вложенности</a> </div>


А генерит
Это див</div> <a href="HTTP: javascript.ru?>А это- ссылка</a> <div class="expand"><a href="ZADORNOW.NET">Тест вложенности</a> </div>
Ответить с цитированием
  #6 (permalink)  
Старый 01.11.2008, 14:33
Профессор
Отправить личное сообщение для alexKniaz Посмотреть профиль Найти все сообщения от alexKniaz
 
Регистрация: 14.10.2008
Сообщений: 186

П.С. Наверное пора перенастроить браузер, т.к. сообщенийоб ошибках он не выводил.
Ответить с цитированием
  #7 (permalink)  
Старый 01.11.2008, 14:52
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

1. Используйте var.
2. Зачем вы используете регулярные выражения, если ни одного метасимвола в них нет? Можно просто строки искать.
3. Слэши в регулярных выражениях должны экранироваться. При этом в строках обратные слэши тоже должны экранироваться
/<\/expand>/
new RegExp('<\\/expand>')

4. Попробуйте сделать в разных браузерах
alert(frames['heading'].document.getElementsByTagName('div')[0].innerHTML)
можете сильно удивиться. innerHTML не всегда равен тому, что ему присвоили.
Ответить с цитированием
  #8 (permalink)  
Старый 01.11.2008, 15:08
Профессор
Отправить личное сообщение для alexKniaz Посмотреть профиль Найти все сообщения от alexKniaz
 
Регистрация: 14.10.2008
Сообщений: 186

Не помогло.
А насчёт innerHTML - действительно удивлён. Из-под IE первый link вообще не видится, а под моим любимым браузером Opera 9.61 - видится но линком не становится, как и последний.
Попробую расписать кодж под XMLHTTPRequest и XSL-шаблоны
P.S. Отменяется.

Последний раз редактировалось alexKniaz, 01.11.2008 в 15:16.
Ответить с цитированием
  #9 (permalink)  
Старый 01.11.2008, 15:12
Профессор
Отправить личное сообщение для alexKniaz Посмотреть профиль Найти все сообщения от alexKniaz
 
Регистрация: 14.10.2008
Сообщений: 186

Да, прочитал про XMLHTTPRequest...
Разочарован.
Вопрос. А как узнать весь загруженный в IFRAME код? Чтобы без innerHTML?
Ответить с цитированием
  #10 (permalink)  
Старый 01.11.2008, 15:23
Профессор
Отправить личное сообщение для alexKniaz Посмотреть профиль Найти все сообщения от alexKniaz
 
Регистрация: 14.10.2008
Сообщений: 186

с XSL тоже похоже облом. Возвращаюсь в старое русло.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сохранить данные в файл? Возможно такое на JavaScript? Forgott Общие вопросы Javascript 35 26.06.2015 19:11
Нужно с помощью JS записывать данные в БД d!mm Общие вопросы Javascript 2 01.11.2008 18:36
Помогите вытащить из таблицы данные... MD6 Общие вопросы Javascript 1 07.10.2008 13:03
Возможно ли получить данные из файла на сервере? sdff Общие вопросы Javascript 11 19.07.2008 20:48
XML данные в массив. Onis Общие вопросы Javascript 7 16.07.2008 00:12