Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.03.2009, 12:03
guest
 
Сообщений: n/a

3 rows из xml в html через span. IE - ok, ff - noResult
выбираем 3 первые строчки из file.xml и заполняем ими html страницу
все просто - все работает, но только в ie, в ff не работает.
IE - v.6.0..., ff - v.3.0.6
ниже привожу текст всей страницы:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script for="window" event="onload">
doc=dsoNEWS.XMLDocument;
if(doc.readyState == 4) DisplayError();
else doc.onreadystatechange = DisplayError;
function DisplayError(){
    if(doc.readyState != 4) return;
    if(doc.parseError.errorCode){
        mess =
        "parseError.errorCode: " + doc.parseError.errorCode + "\n" +
        "parseError.filepos: " + doc.parseError.filepos + "\n" +
        "parseError.line: " + doc.parseError.line + "\n" +
        "parseError.linepos: " + doc.parseError.linepos + "\n" +
        "parseError.reason: " + doc.parseError.reason + "\n" +
        "parseError.srcText: " + doc.parseError.srcText + "\n" +
        "parseError.url: " + doc.parseError.url + "\n" +
        "";
        alert(mess);
    }
}
</script>
</head>

<body>
<XML ID="dsoNEWS" SRC="file.xml"></XML>
<div id="ResultDiv" name="ResultDiv"></div>
<script type="text/javascript">
var ResultHTML='<TABLE ID="NewsTable" DATASRC="#dsoNEWS" DATAPAGESIZE="3" border="0" width="99%" cellspacing="0" cellpadding="0"><TR><TD class="content"><div class="padding"><p style="font-size:1.0em; line-height:1.1em;"><SPAN id="DATE" DATAFLD="DATE"></SPAN></p><p style="font-size:1.2em; line-height:1.3em;"><SPAN id="POSTER" DATAFLD="POSTER"></SPAN></p><p id="dali"><a href=SPAN id="LINKS" DATAFLD="LINKS">...</a></p><div class="hr"><img src="http://javascript.ru/forum/images/spacer.gif" alt="" width="1" height="20" /></div></div></TD></TR></TABLE>';
ResultDiv.innerHTML = ResultHTML;
</script>
</body>
</html>

Последний раз редактировалось Андрей Параничев, 03.03.2009 в 21:37. Причина: Пользуйтесь bb-тегами [js] и [html] для оформления листингов кода в теле сообщения
Ответить с цитированием
  #2 (permalink)  
Старый 03.03.2009, 12:24
Аспирант
Отправить личное сообщение для IIIEPJIOK Посмотреть профиль Найти все сообщения от IIIEPJIOK
 
Регистрация: 23.12.2008
Сообщений: 75

скрипт написан тока для IE
<xml>, document.XMLDocument, document.onreadystatechange, document.parseError - все это только в IE, но все это кроме document.XMLDocument имеет аналоги в FF и прочих
Ответить с цитированием
  #3 (permalink)  
Старый 03.03.2009, 12:31
guest
 
Сообщений: n/a

спасибо, IIIEPJIOK, а сами аналоги, или хоть где искать
Ответить с цитированием
  #4 (permalink)  
Старый 03.03.2009, 12:44
Аспирант
Отправить личное сообщение для IIIEPJIOK Посмотреть профиль Найти все сообщения от IIIEPJIOK
 
Регистрация: 23.12.2008
Сообщений: 75

<xml> - <iframe> c нулевыми размерами
document.onreadystatechange - document.onload
document.parseError - вообще другой принцип, если есть ошибка, то ФФ загружает сведения о ней в сам документ, создавая элемент <parserrror>. ДЛя ФФ и оперы - это корневой элемент, для ГуглХром и Сафари - не корневой. Поэтому ошибку отслеживать надо через
if(xmlDoc.getElementsByTagName('parsererror').length != 0){//то, что-то там}

Но Опера вообще может сказать только что есть ошибка, а какая и где она не знает, а ФФ и ГуглХром - описывают ее поразному, причем, если ФФ и ГуглХром на русском, то ФФ отдает ошибку на русском, а ГуглХром на буржуйском

В общем где-то так....

Я бы советовал, создавать js-ом новый XML документ и загружать в него то, что вам надо.

ЗЫ Могу поделиться готовым решением (но без разбора ошибок, если есть ошибка, то создается пустой документ и флаг наличия ошибки становится true)

Последний раз редактировалось IIIEPJIOK, 03.03.2009 в 12:49.
Ответить с цитированием
  #5 (permalink)  
Старый 03.03.2009, 13:34
guest
 
Сообщений: n/a

спс за направление, IIIEPJIOK. Если есть готовое решение - дайте ссылку, посмотрю, может, поможет
Нашел на другом форуме работающий пример с iframe'ом, кому интересно:http://forum.dklab.ru/viewtopic.php?t=16055 - есть ссылка на zip корректно работающей версии примера для создания меню в html из xml, буду разбираться.
Ответить с цитированием
  #6 (permalink)  
Старый 03.03.2009, 22:49
Аспирант
Отправить личное сообщение для IIIEPJIOK Посмотреть профиль Найти все сообщения от IIIEPJIOK
 
Регистрация: 23.12.2008
Сообщений: 75

Цитата:
Если есть готовое решение - дайте ссылку, посмотрю, может, поможет
Если еще надо, то могу тока архивом в почту и комментарии по аське
Ответить с цитированием
  #7 (permalink)  
Старый 29.07.2009, 15:10
Аспирант
Отправить личное сообщение для JSTalker Посмотреть профиль Найти все сообщения от JSTalker
 
Регистрация: 29.06.2009
Сообщений: 92

похожая проблема, только FF не может добраться до нужного дочернего тега с данными в файле .xml

<level1>
<level1>
</level1>
</level1>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с обработкой селектов html кода, пришедшего через ajax запрос Rage jQuery 6 26.01.2009 14:15