Траблы в Опере
Как то необходимо было распарсить ссылки на смайлики в коде страницы юзера и убрать повторения
Смайлов была масса: Попытался сделать парсинг через innerHTML, Наткнулся на трабл Трабл во всех Операх начиная c 11.6 Код парс скрипта(сокращен до минимума Код: [HTML]<script> /******** Парсер img ***********/ elm=document.getElementById("pun-main").getElementsByTagName("div") for(x in elm) if(elm[x].className=="post-content"){ var post=elm[x] post.innerHTML=post.innerHTML } </script> Эффект возникает при большом кол-ве картинок (общей длинной кода более 20 000знаков После перепарса текст перепарсенного преобразуется в HTML Скриншот: ![]() Рабочий тест http://hostjs-mybb2011.narod.ru/opera11-6-Trabl.htm |
Чё должно быть и какой эффект?
|
нифига не понял если честно
|
Цитата:
Вот скрин как должно выглядеть: ![]() А вот как выглядит в Опере: ![]() |
Ненавижу тестовые сайты на бесплатных хостингах и людей, которые их делают недолюбливаю.
А ещё вёрстку сначала нормальную сделай! Где у тебя открывается тег textarea? Ps: я такого количества открывающих div никогда в жизни не видывал. А тестовые примеры нужно делать маленькими. |
Gozar,
я урезал спецом до минума работоспособности -тегов техtarea - там нет - там контент тегов уже преобразован в текст сервером, как и на любом форуме ти пишешь <style> - но у тьву страница не схлопываецо, поскольку угловые скобки все преобразуются! Там техт - обычный текст,в коде много <img - угловые кавычки из текста в Опере при проходе парсера почему то преобразуются из < в < сам парсер post.innerHTML=post.innerHTML (*спецом убрал из него все replace |
post.innerHTML=post.innerHTML.replace(/</g, "<").replace(/>/g, ">"); :D |
Amphiluke,
Откройте исходник страницы |
Открыл. И?
|
Amphiluke,
В блоке код - нет тегов Страницу нун смотреть под Оперой( версии 11.6 и далее) и сравнивать в ином браузере |
Часовой пояс GMT +3, время: 11:18. |