Почему innerHTML не был добавлен в спецификации w3c? - PullRequest
1 голос
/ 09 октября 2009

Есть ли какая-то конкретная причина, по которой этого нет в спецификации?

Похоже, что он поддерживается во всех браузерах (хотя я признаю, что он работает не во всех из них ... так как вам нужно использовать библиотеки типа innerXHTML , чтобы заставить его работать прямо благодаря Internet Explorer.

Есть ли риск исчезновения innerHTML из следующих версий браузеров? Если нет, то не должны ли они просто добавить это уже?

Я отмечаю эту вики сообщества, так как знаю, что за это я бью своего представителя, но я просто удивился, почему ...

Ответы [ 3 ]

2 голосов
/ 09 октября 2009

http://dev.w3.org/html5/spec/Overview.html#innerhtml

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

1 голос
/ 09 октября 2009

Я признаю, что это не работает правильно во всех из них ... так как вам нужно использовать библиотеки, такие как innerXHTML, чтобы заставить его работать правильно благодаря Internet Explorer.

IE изобретено innerHTML; Вы не можете ожидать, что это сработает лучше, чем там.

Есть ли какая-то особая причина, по которой этого нет в спецификации?

Предлагается для HTML5, чего бы это ни стоило. Конечно, нет никакой опасности его исчезновения в будущем, хотя вы должны продолжать использовать его только для тех простых случаев, когда вы пишете прямое «блочное» или «встроенное» содержимое элемента. Особые случаи, такие как таблицы и выборки, по-прежнему будут вызывать проблемы.

0 голосов
/ 29 января 2011

IE, изобретатель динамического изменения контента, прошел путь до конца - другие браузеры этого не сделали!

Передача строки как innerHTML означает, что строка пройдет процесс нормализации, прежде чем она будет передана элементу. Это означает, что он будет преобразован из строки в правильный HTML-разбор содержимого.

Firefox реализовал это неправильно. Он не различает html: innerHTML и html: innerText и обычную строку: текст. Разница в буквальном смысле очевидна для IE, но не для FF. Отсюда разница в обработке ситуаций и путаница кодировщиков FF только тогда, когда они возвращаются к мастеру.

...