В Firefox`е не работает innerHTML ?

Панацея здесь.

Для любимого нами огненного лиса (Firefox) средствами JavaScript HTML код необходимо вставлять следующим образом:

     // Блок куда необходимо вставить html контент
    var our_div = document.getElementById('our_div_name');

     // Непосредственно наш контент
    var our_text = 'our html code ...';

     // Получим userAgent браузера
    var ua = navigator.userAgent.toLowerCase();

    if (ua.indexOf("gecko") != -1) {
        // Если браузер Mozilla, или Firefox, или Netscape
        var range = div_preview.ownerDocument.createRange();
        range.selectNodeContents(our_div);

        // Очистим внутренности нашего блока
        range.deleteContents();
        var fragment = range.createContextualFragment(our_text); //<-- dies here

        // Теперь наполним необходимым контентом
        our_div.appendChild(fragment);
    }  else  {
        // Для остальных браузеров
        our_div.innerHTML = our_text;
    }

7 Responses to “В Firefox`е не работает innerHTML ?”

  1. smk says:

    Вы что стебетесь?)
    Все прекрасно работает)

  2. Mihalytch says:

    А вы не смотрели когда был пост написан?
    Сейчас конечно работает, а вот тогда не работало.

  3. Павел says:

    Да, давненько это было. Но всё же я предпочитаю JS фреймворки (prototype, jquery)

  4. Mihalytch says:

    Несомненно фреймворки это хорошо, но ИМХО подключать фреймворк для того чтобы использовать его в одной/дву мелких ф-ях не целесообразно. Также как и чрезмерное использование всякого рода примочек из jquery (об остальных говорить ничего не буду, но думаю что ситуация будет аналогична) ведет к потреблению непозволительно большого количества ресурсов на клиентской машине…

  5. Dan says:

    А у меня не работает innerHTML в FF
    Так что вопрос где вы видили рабочий вариант??

  6. Олег says:

    > Вы что стебетесь?)
    > Все прекрасно работает)

    Это Вы стебетесь. У меня FF 3.6.2 – в ней innerHtml НЕ РАБОТАЕТ. “Любимый” огнелис вообще считает, что нет такого свойства.

    Так что статья актуальна до сих пор.

    • Николай says:

      У меня FF 3.6.6 и innerHTML работает нормально. Сначала не работало, оказалось я неправильно получал ссылку на элемент. Применил getElementById и всё пошло.

Leave a Reply




*