Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Длина строки в FF 
:(
    Опции темы
Loengreen
Дата 25.12.2007, 00:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 13.7.2007

Репутация: нет
Всего: нет



Всем любителям лисы посвящается.
Где-то в XML-е есть тег <select>123|234|345|456| ... |n</select>.
После получения XML это безобразие копируется в строку, разбивается split-ом и записывается атрибутом в некий тег.
Проблема:  select.firstChild.data.toString() вытаскивает из тега всего 4096 символов (IE вытаскивает ровно столько, сколько там было).

Подскажите пожалуйста, почему вроде бы дружелюбная лиса в этом случае поступает так жестко?! Может быть проблема в функции toString()?  


PM MAIL   Вверх
Ghirik
Дата 25.12.2007, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



Я никогда не использовал toString(), но IE и FF в таких случаях имеют разные firstChild. И возможно, для FF будет верным запись select.firstChild.firstChild.data.toString(). Не смеяться! smile 

ЗЫ. попробуйте так прочитать, может остатки строки вернутся... smile

Добавлено через 12 минут и 32 секунды
Или так firstChild.nextSibling

Это сообщение отредактировал(а) Ghirik - 25.12.2007, 08:41


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
Ghirik
Дата 25.12.2007, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



Вроде я и не глупость сказал

Цитата

При синтаксическом анализе XML, мы должны отдать себе отчет об окне просмотра ограничения. Давшее XML, что имеет текстовый узел дольше чем 4096 символов, текст будет разделен среди многочисленных узлов ребенка оригинального родителя. Для синтаксического анализа длинных linestrings (и linearrings) эти poses проблема. 



Это сообщение отредактировал(а) Ghirik - 25.12.2007, 09:18


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
AKS
Дата 25.12.2007, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Участник форума
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 20.9.2006

Репутация: 27
Всего: 52



Цитата(Loengreen @  25.12.2007,  00:39 Найти цитируемый пост)
Может быть проблема в функции toString()?  

В данном случае эта функция вообще не нужна, т.к. свойство data текстового элемента - это строка.

PM MAIL   Вверх
Loengreen
Дата 25.12.2007, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 13.7.2007

Репутация: нет
Всего: нет



Ghirik!
Ааааааааааааааа!!!
Сейчас буду пробовать. Если получится... То Вы меня просто спасли (избавили от преждевременного геморроя)!!!

До этого пробовал .firstChild.data.toString() , .firstChild.nodeValue... даже выводил XML на страницу, а потом пытался его юзать - результат один - 4096. Сейчас попробую Ваш вариант. О результате сообщу! smile

Добавлено через 10 минут и 45 секунд
Так... Пока не получилось. :(
Поехал учиться. Вечером добью проблему.
Бегло взглянул на статью по ссылке. Не является ли решением этой проблему установка патча на браузер. Или мой плохой английский ввел меня в заблуждение? 
PM MAIL   Вверх
Ghirik
Дата 25.12.2007, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



AKS, дело говорит....


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
SelenIT
Дата 25.12.2007, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Цитата(Loengreen @  25.12.2007,  00:39 Найти цитируемый пост)
это безобразие

А нельзя уйти от безобразия к чему-нибудь более органичному для XML, чтоб split-ы многокилобайтных строк и прочие насильственные действия и не требовались?


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Loengreen
Дата 25.12.2007, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 13.7.2007

Репутация: нет
Всего: нет



Так! Все получилось. Сутра спешил и по запарке очепятался.
<select> ... </select>
обращается к тегу select  и перебираем  детишек.
У меня получилось так:

Код

var options = XML.getEleentsByTagName('select')[0].firstChild; 
var string = options.data;
while (options.nextSibling) {
   options = options.nextSibling;
   string += options.data;
}

Ghirik! Спасибо Вам огромное!


SelenIT, судите сами. У меня, например, около 640 ГОСТовских обозначения (длина каждого не превышает 10 символов). Длина строки более 6000 символов. Если я каждое обозначение поставлю в свой тег, вместо одного символа | мне придется написать <o> ... </o>, а это + еще 6 символов.  В сумме это лишние 3840 символов. Не помню сколько весит русский символ в UTF, но кб 3-6 наверное точно выйдут. 
PM MAIL   Вверх
coyl
  Дата 25.12.2007, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 13.6.2006

Репутация: нет
Всего: 1



Тут, наверное, человек заботится о трафике и скорости разбора. 
Однородные и маленькие данные (относительно служебной информации - тегов), заключаются в один тег через разделитель. =)
Нужно попробовать - что будет работать быстрее - простой сплит или получение всех детей и выуживание их внутренностей (если использовать внутренние теги). 
Мне почему-то кажется, что split будет работать гораздо быстрее. Это как раз тот случай, когда надо немного отойти от стандарта, ради качества. ИМХО.

Добавлено через 2 минуты и 39 секунд
одновременно написали =)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0535 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.