Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.06.2012, 20:08
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Траблы в Опере
Как то необходимо было распарсить ссылки на смайлики в коде страницы юзера и убрать повторения
Смайлов была масса: Попытался сделать парсинг через 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
Ответить с цитированием
  #2 (permalink)  
Старый 13.06.2012, 20:53
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Чё должно быть и какой эффект?
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #3 (permalink)  
Старый 13.06.2012, 21:14
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

нифига не понял если честно
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #4 (permalink)  
Старый 13.06.2012, 21:24
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от devote
нифига не понял если честно
В блоке Код - Текст- при парсе через innerHTML и возврате на страницу , текст превращается в HTML код, начинают работать из текста скрипты, и остальные коды HTML
Вот скрин как должно выглядеть:


А вот как выглядит в Опере:
Ответить с цитированием
  #5 (permalink)  
Старый 13.06.2012, 21:46
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Ненавижу тестовые сайты на бесплатных хостингах и людей, которые их делают недолюбливаю.

А ещё вёрстку сначала нормальную сделай! Где у тебя открывается тег textarea?

Ps: я такого количества открывающих div никогда в жизни не видывал. А тестовые примеры нужно делать маленькими.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.

Последний раз редактировалось Gozar, 13.06.2012 в 21:48.
Ответить с цитированием
  #6 (permalink)  
Старый 13.06.2012, 21:52
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Gozar,
я урезал спецом до минума работоспособности -тегов техtarea - там нет - там контент тегов уже преобразован в текст сервером, как и на любом форуме
ти пишешь
<style> - но у тьву страница не схлопываецо, поскольку угловые скобки все преобразуются!

Там техт - обычный текст,в коде много &lt;img - угловые кавычки из текста в Опере при проходе парсера почему то преобразуются из &lt; в <

сам парсер post.innerHTML=post.innerHTML (*спецом убрал из него все replace

Последний раз редактировалось Deff, 13.06.2012 в 22:14.
Ответить с цитированием
  #7 (permalink)  
Старый 13.06.2012, 22:08
Аватар для Amphiluke
   ☽
Отправить личное сообщение для Amphiluke Посмотреть профиль Найти все сообщения от Amphiluke
 
Регистрация: 07.01.2011
Сообщений: 254

post.innerHTML=post.innerHTML.replace(/</g, "&lt;").replace(/>/g, "&gt;");

Ответить с цитированием
  #8 (permalink)  
Старый 13.06.2012, 22:11
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Amphiluke,
Откройте исходник страницы
Ответить с цитированием
  #9 (permalink)  
Старый 13.06.2012, 22:11
Аватар для Amphiluke
   ☽
Отправить личное сообщение для Amphiluke Посмотреть профиль Найти все сообщения от Amphiluke
 
Регистрация: 07.01.2011
Сообщений: 254

Открыл. И?
Ответить с цитированием
  #10 (permalink)  
Старый 13.06.2012, 22:15
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Amphiluke,
В блоке код - нет тегов
Страницу нун смотреть под Оперой( версии 11.6 и далее) и сравнивать в ином браузере
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помощь по опере kilostar Javascript под браузер 0 16.05.2012 01:04
Запрос к удаленному серверу. Проблемы в Опере San4ezy jQuery 1 23.03.2011 23:41
Глюк в Опере: expected identifier, got keyword 'new' Vulkan Opera, Safari и др. 4 19.12.2010 11:38
Прелоуд картинок не работает в Опере Arseo Opera, Safari и др. 3 20.11.2009 19:45
Высота документа в опере. SunnyDay Общие вопросы Javascript 1 16.10.2008 13:27