Посмотрите решение у основания вопроса.
IE 8 (и ниже) не работает хороший с неизвестными элементами (т.е. элементы HTML5), нельзя разработать их или доступ большинство их опор. Их многочисленная работа arounds для этого, например: http://remysharp.com/2009/01/07/html5-enabling-script/
Проблема состоит в том, что это работает отлично для статического HTML, который был доступен на загрузке страницы, но когда каждый создаст элементы HTML5 позже (например, вызов Ajax, содержащий их или просто создающий с JS), это отметит эти недавно добавленные элементы их как HTMLUnknownElement
как предполагается к HTMLGenericElement
(в отладчике IE).
Кто-либо знает работу вокруг для этого, так, чтобы недавно добавленные элементы были распознаны/включены IE 8?
Вот тестовая страница:
TIME TEST
В IE Вы будете видеть: ОБНОВЛЕНИЕ и НОВЫЙ ЭЛЕМЕНТ. В любом другом современном браузере Вы будете видеть ОБНОВЛЕНИЕ и ОБНОВЛЕНИЕ
для всех проблем с html5 в IE7 я использую html5shiv, а для размещения html5 элементов, возвращающихся при ajax вызовах я использую innershiv.
эти два небольших плагина работают для меня как шарм до сих пор.
-- Praveen Gunasekara
В jQuery есть несколько темных, волшебных способов создания элементов. Использование document.createElement
вместо этого должно иметь решающее значение:
var time = document.createElement("time");
time.innerHTML = "WORKS GREAT";
document.appendChild(time);
Я не верю, что вы можете использовать синтаксис .append ()
(например, .innerHTML + = ""
) с HTML5 и IE. Проблема не в способности IE использовать или отображать элементы HTML5, а в его способности анализировать их. Каждый раз, когда вы программно создаете экземпляр элемента HTML5, вы должны делать это с помощью document.createElement
.