Как “включить” элементы HTML5 в IE 8, которые были вставлены вызовом Ajax?

Посмотрите решение у основания вопроса.

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 Вы будете видеть: ОБНОВЛЕНИЕ и НОВЫЙ ЭЛЕМЕНТ. В любом другом современном браузере Вы будете видеть ОБНОВЛЕНИЕ и ОБНОВЛЕНИЕ

28
задан Gidon 4 August 2015 в 07:02
поделиться

2 ответа

для всех проблем с html5 в IE7 я использую html5shiv, а для размещения html5 элементов, возвращающихся при ajax вызовах я использую innershiv.

эти два небольших плагина работают для меня как шарм до сих пор.

-- Praveen Gunasekara

25
ответ дан 28 November 2019 в 03:41
поделиться

В jQuery есть несколько темных, волшебных способов создания элементов. Использование document.createElement вместо этого должно иметь решающее значение:

var time = document.createElement("time");
time.innerHTML = "WORKS GREAT";
document.appendChild(time);

Я не верю, что вы можете использовать синтаксис .append () (например, .innerHTML + = "" ) с HTML5 и IE. Проблема не в способности IE использовать или отображать элементы HTML5, а в его способности анализировать их. Каждый раз, когда вы программно создаете экземпляр элемента HTML5, вы должны делать это с помощью document.createElement .

4
ответ дан 28 November 2019 в 03:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: