В Firefox`е не работает innerHTML ?
- 21 October, 2008
- Posted in JavaScript
Tags : Firefox, HTML, innerHTML, JavaScript, Mozilla- 7 Comments
Панацея здесь.
Для любимого нами огненного лиса (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;
}
Вы что стебетесь?)
Все прекрасно работает)
А вы не смотрели когда был пост написан?
Сейчас конечно работает, а вот тогда не работало.
Да, давненько это было. Но всё же я предпочитаю JS фреймворки (prototype, jquery)
Несомненно фреймворки это хорошо, но ИМХО подключать фреймворк для того чтобы использовать его в одной/дву мелких ф-ях не целесообразно. Также как и чрезмерное использование всякого рода примочек из jquery (об остальных говорить ничего не буду, но думаю что ситуация будет аналогична) ведет к потреблению непозволительно большого количества ресурсов на клиентской машине…
А у меня не работает innerHTML в FF
Так что вопрос где вы видили рабочий вариант??
> Вы что стебетесь?)
> Все прекрасно работает)
Это Вы стебетесь. У меня FF 3.6.2 – в ней innerHtml НЕ РАБОТАЕТ. “Любимый” огнелис вообще считает, что нет такого свойства.
Так что статья актуальна до сих пор.
У меня FF 3.6.6 и innerHTML работает нормально. Сначала не работало, оказалось я неправильно получал ссылку на элемент. Применил getElementById и всё пошло.