|
|
|
Supreme Being
      
участник
Last Login: 14.09.2007 18:03
Сообщ.: 333,
Visits: 3 403
|
|
Имею я следующие файлы для подгрузки xml
IExplorer.htm
<script> function loadd(){ xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async=false; //Enforce download of XML file first. IE only. xmlDoc.load("table.xml"); container.innerHTML = xmlDoc.documentElement.text; } </script>
<body> <table border=1><td id="container" onclick="loadd()"> click me </td></table> </body>
Mozilla.htm
<script> var xmlDoc;
function loadd(){ xmlDoc= document.implementation.createDocument("","doc",null); xmlDoc.load("table.xml"); xmlDoc.onload=gettable }
function gettable(){ document.getElementById("container").innerHTML= xmlDoc.getElementsByTagName("xml")[0].firstChild.nodeValue } </script>
<body> <table border=1><td id="container" onclick="loadd()"> click me </td></table> </body>
и подгружаемый файл table.xml
<?xml version="1.0" encoding="Windows-1251"?> <xml><TABLE><TD bgcolor=#00ffff>Ok!!!</td></table></xml>
Общий файл здесь я специально разнес на два файла: IExplorer и Mozilla, чтоб удобней было сравнивать. Проблема в следующем: если в IE файлы xml большого объема подгружаются нормально, то в Мозилле грузится около 7 кб, и всё... Даже на локальной машыне. То ли событие onload не отрабатывается... То ли для Мозиллы я выбрал корявую инструкцыю? По сравнению с изящной IE-вской она мне не очень нравится.
Почему не работает? Мне необходимо подгружать около 50 кб.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 14.09.2007 18:03
Сообщ.: 333,
Visits: 3 403
|
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| В Mozilla/Firefox лучше использовать так называемый native объект XMLHttpRequest. IE7 его тоже поддерживает. Читай статью AJAX:Getting Started, там есть примеры.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 14.09.2007 18:03
Сообщ.: 333,
Visits: 3 403
|
|
Ага, интересная статья.
Я на что-то подобное натыкался, когда гугл юзал, но подумал, что это - какой-то компонент, который у клиента может быть и не установлен.
И особенно меня смутила реклама, типа: "Как купить Аякс, где купить Аякс" :((
Решил, что это сторонняя разработка.
А он, я так теперь понял, присутствует в поставке Mozill'ы в обязательном порядке?
Спасибо, буду пробовать. :)
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
Letter_D (06.09.2006) А он, я так теперь понял, присутствует в поставке Mozill'ы в обязательном порядке?Да. А также в Safari, Opera 9 и IE7
|
|
|
|
|
Supreme Being
      
участник
Last Login: 14.09.2007 18:03
Сообщ.: 333,
Visits: 3 403
|
|
Пример заработал.
Спасибо!
IE 5.5, Мозилла ФФ и Опера 8.5
Но... :(
Но грузится бракозябра вместо русских букв, если грузить простой HTML.
Мета-тег с виндоус-1251 кодировкой не помогает.
Помогает XML-облатка в загружаемом файле: ...
Для Мозиллы и Оперы. А для IE - нет! Всё равно бракозябры.
Как можно победить?
Не хотелось бы все русские буквы заменять последовательностью спецсимволов, уж очень файл в размере увеличится.
Для IE 5.5 отрабатывает ветка с ActiveXObject("Msxml2.XMLHTTP"), может проблема в нем?
|
|
|
|
|
Supreme Being
      
участник
Last Login: 14.09.2007 18:03
Сообщ.: 333,
Visits: 3 403
|
|
Черт, теги отвалились.
Облатка такая:
<?xml version="1.0" encoding="Windows-1251"?><root> ... </root>
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Http заголовок content-type с кодировкой ты выдаешь? Мета-тег нанедежен, кодировку лучше указывать в http заголовках.
|
|
|
|
| | |