Полезная информация

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№110-02-2009 00:08:27

Procel
Участник
 
Группа: Members
Зарегистрирован: 09-02-2009
Сообщений: 2
UA: IE 7.0

nodeValue, FF и текст большого размера

Работаю с Ajax. Где-то при передаче данных (если передавать большие размеры текста) в FireFox происходит утеря части (данные просто-напросто обрезаются). Опытным путем выяснил, что это происходит в JS, когда нужно забрать значения определенного элемента, например, content из XML.

Выделить код

Код:

content = response[count].getElementsByTagName('content')[0].firstChild.nodeValue;

Во всех остальных браузерах, включая Google Chrome (80) всё отлично.
Можно ли с этим как-то бороться?

Отсутствует

 

№210-02-2009 08:36:32

Lynn
Кофеман
 
Группа: Members
Откуда: Россия
Зарегистрирован: 16-02-2005
Сообщений: 1721
UA: Firefox 3.0
Веб-сайт

Re: nodeValue, FF и текст большого размера

FF делит большие ткстовые ноды на куски по 64кб (вроде). Это известный баг. Бороться просто, брать не первую ноду, а все сколько их есть


Isn't it ironic... don't you think? — Alanis Morissette

Отсутствует

 

№310-02-2009 12:52:37

Procel
Участник
 
Группа: Members
Зарегистрирован: 09-02-2009
Сообщений: 2
UA: IE 7.0

Re: nodeValue, FF и текст большого размера

:) ок) сработало
только не 64 Кб, а всего 4 Кб

решение примерно следующее:

Выделить код

Код:

var contentSize = response[count].getElementsByTagName('content')[0].childNodes.length;
content = '';
for (i = 0; i < contentSize; i++) {
   content += response[count].getElementsByTagName('content')[0].childNodes[i].nodeValue;
}

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]