сильно тормозит innerText

  • Автор темы Автор темы [SDem]
  • Дата начала Дата начала

[SDem]

Новичок
сильно тормозит innerText

Привет всем. Столкнулся с проблемкой.
Вобщем в <div> лежит огромный кусок текста ( а точнее кода длинной в 25000 - символов). Мне надо вытащить из div-a голый текст без хтмл. Соответственно делаю innerText и 3 сеунды наслаждаюсь торомзами, прежде чем получить результат. Я думал это элементраная операция. Есть ли какие то аналоги ей? Подскажите как мне решить проблему. Дальше то я работаю с документом через ДОМ и там всё летает. А эта строка получается самой тормозной.
 
innerText по-мойм и есь самое быстрое решение..
Попробуй что-ли еще что-нибудь вроде:
.innerHTML.replace(/<.*?>/g, "")
 
denver
Не.. не помогает.. Странно то, что innerHTML выполняется моментально а innerText ужасно тормозит на том же куске кода... Наверное я чё-то не понимаю... Хотя ты наверное прав.. Копать надо в эту сторону но другими методами. У меян в диве код лежит (html,php,js..) видимо потому и тормозит. Если вставить туда простой текст то при 40000 уже начинает подтормаживать innerHTML, а innerText срабатывает моментально.

кстати innerHTML.replace мне не поможет.. ибо мне надо кроме всего прочего ещё и длину строки знать, атак он абудет некорректно определяться.

-~{}~ 23.09.06 21:24:

вобщем теперь вы выттаскиваю всё через range.text Всё стало рабоотать быстро. Но вот только теперь операция text.length стала тормозить. Это ятуплю где то иди эксплорер?
 
Можно попробовать рекурсивно пройтись по childNodes этого дива, собирая nodeValue (те, что не null). Если основная работа идет через DOM, это может оказаться даже удобнее (не говоря о том, что innerText - IE-only).

P.S.
>У меян в диве код лежит (html,php,js..)
это как (выделенное)?
 
Странно то, что innerHTML выполняется моментально а innerText ужасно тормозит на том же куске кода
при 40000 уже начинает подтормаживать innerHTML, а innerText срабатывает моментально.
Ты эта, определись с выводами и юзай тот что всё же быстрее.

кстати innerHTML.replace мне не поможет.. ибо мне надо кроме всего прочего ещё и длину строки знать, атак он абудет некорректно определяться.
Что там будет некоректно??? Поконкретнее пиши.

Но вот только теперь операция text.length стала тормозить
А это точно операция или быть может свойство? :)
 
Вобщем после многочисленных тестов стало ясно из-за чего тормоза (хотя механизм я всё равно не понял). Вобщем если в div-е присутствует например строка
<script> бла бла бла </script>
то всё срабатывает, но если там стоит неправильная строка, например такая:
<script> бла бла бла </script
то всё тормозит. При этом, если я поставлю в коде своего скрипта лишние кавычки.. ну например так a=''; или просто влеплю парочку ;; то все экранируется.. и работает быстро..
Я только механизм не могу понять. каким образом ошибки в диве просачиваются в скрипт? и как сэтим бороться ?

-~{}~ 24.09.06 00:47:

Автор оригинала: SelenIT
Можно попробовать рекурсивно пройтись по childNodes этого дива, собирая nodeValue (те, что не null). Если основная работа идет через DOM, это может оказаться даже удобнее (не говоря о том, что innerText - IE-only).
Мне не нужна кроссбраузерность. Решается частная задача. Думаю работа через DOM не окажется быстрее. Ведь в итоге мы всё-равно буде натыкаться на неправильные строки яваскрипта и тормозиться на них.

P.S.
>У меян в диве код лежит (html,php,js..)
это как (выделенное)?
- не понял вопрос, если честно )
 
Это было к тому, что в готовой HTML-странице не может быть PHP-кода, разве что его отображение типа <code>&amp;lt;? echo &amp;quot;It&amp;#8217;s PHP!&amp;quot;; ?&amp;gt;</code>.
 
Автор оригинала: SelenIT
Это было к тому, что в готовой HTML-странице не может быть PHP-кода, разве что его отображение типа <code>&amp;lt;? echo &amp;quot;It&amp;#8217;s PHP!&amp;quot;; ?&amp;gt;</code>.
ну естественно. Так и есть. Всё заменено.
 
Сверху