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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выделение внутреннего ХТМЛ в элементе в ИЕ. 
:(
    Опции темы
fired
Дата 5.3.2008, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Привет. Задача следующая: в функцию передается объект - ХТМЛ-элемент страницы. Мне нужно выделить все его содержимое. В мозилле я сделал так:

Код

        var sel = document.getElementById("eframe_"+frameId).contentWindow.getSelection();
        if(sel.rangeCount > 0) sel.removeAllRanges();
        var oRange = eframeDoc.createRange();
        oRange.selectNodeContents(el);
        sel.addRange(oRange);


пара комментов: элемент в ифрейме, поэтому такой путь. el - элемент, собсна.
дак вот мне нужно сделать подобное в ИЕ. НО. меня интересует подобный способ, а именно, без задания позиций конца и начала. я немного покорячился и для способа с заданием позиций написал вот так:

Код

        var inner_text_el = el.innerHTML;
        var inner_text_body = eframeDoc.getElementsByTagName("body")[0].innerHTML;
        var pos = inner_text_body.indexOf("id="+elementId);
        var pos_start = inner_text_body.indexOf(inner_text_el,pos);
        var text = inner_text_body.substring(0,pos_start);
        inner_text_el = delTags(inner_text_el);
        text = delTags(text);
        pos_start = text.length;
        var oRange = eframeDoc.body.createTextRange(); 
        oRange.moveStart("character", pos_start);
        oRange.moveEnd("character", (pos_start+inner_text_el.length)-eframeDoc.getElementsByTagName("body")[0].innerText.length);
        oRange.select();

delTags - убирает теги из текста.
но данная функция стрёмно работает с таблицами и списками (то есть когда в качестве el выступает таблица или список). причем непонятно почему. вообщем я хочу найти способ получше. есть варианты?



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


 




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


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

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