Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Mozilla и получение HTML выделенного текста


Автор: Frozen_Coyote 16.2.2011, 12:26
Добрый день,

сражаюсь с проблемой - никак не получается справиться - помогите кто может smile

Для начала прошу открыть ссылку - это http://test.standarta.net/, точнее его часть

Описание проблемы:

Открываем ИЕ. В нем открываем редактор, выделяем ссылочку (четко по ее границам), нажимаем ТЕСТ и в алерте получаем HTML всей ссылки. Это то что надо, великолепно.

Теперь открываем Оперу к примеру, или Хрому - не суть. В ней открываем редактор, выделяем ссылочку (четко по ее границам), нажимаем ТЕСТ и в алерте получаем СОВСЕМ НЕ ТО ЧТО НУЖНО - только текст, без HTML. А вот если мы выделим ссылку + еще один (или больше) символов (неважно с какой стороны - слева, справа) - получаем то что нужно - в алерте отображается весь HTML ссылки

ПОЧЕМУ ТАК, друзья? Я уже голову свернул ((( Ниже код функции

Код

    function getMyHtmlSelection(iframe_id)
    {
        var iframe = document.getElementById(iframe_id);
        var idoc = iframe.contentDocument || iframe.contentWindow.document; // ie compatibility
        var txt = '';

        //MOZILLA
        if(idoc.getSelection)
        {
            var select = iframe.contentWindow.getSelection();
            var range = select.getRangeAt(0);
            var tempel = document.createElement('div');
            tempel.appendChild(range.cloneContents());
            var txt = tempel.innerHTML;
        }
        //IE
        if(idoc.selection)
        {
         txt = idoc.selection.createRange().htmlText;
        }

        alert(txt);
    }


Автор: Evghenusi 16.2.2011, 18:19
Firebug напарывается на

document.frames is not a function
http://test.standarta.net/wysiwyg.js
Line 294

Автор: Frozen_Coyote 16.2.2011, 18:27
Я не очень в курсе как пользоваться фаербагом, знаю, это дебаггер какой то.. но не суть - мне каежтся к этой проблеме он не имеет ровным счетом никакого отношения. Или я неправ?

в любом случае исправил ошибку frames() на frames[]

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)