Я сделал шаблон в HTML5, который работает с Chrome и Firefox, но не работает с Internet Explorer (проверено в IE 8).
Как я могу решить эту проблему?
Я сделал шаблон в HTML5, который работает с Chrome и Firefox, но не работает с Internet Explorer (проверено в IE 8).
Как я могу решить эту проблему?
просто добавьте «display: none» в свои шаблоны. Работает для т.е. 11
<template id="fancyTemplate" style="display:none"></template>
<template>
контент, независимо от того, находится ли он в <head>
.
- person dakab; 26.02.2018
Я рекомендую вам полифилл Neovov: https://github.com/neovov/template-element-polyfill а>
NB: В IE 11 есть ошибка: он перемещает ‹template> под элемент ‹body> перед рендерингом DOM! Таким образом, атрибут parentNode неверен, и вложение не удастся. Вы можете увидеть это в инструменте [F12].
Получите копию html4shiv и используйте ее там, где IE меньше 9:
<!--[if lt IE 9]>
<link rel="stylesheet" href="styles/ie.css" type="text/css"> <script src="scripts/ie/html5shiv.min.js"></script>
<![endif]-->
Вы ищете html5shiv.
Он 'включает' все элементы html5, недоступные в старых версиях Internet Explorer.
<template>
недоступно НИ В ОДНОЙ версии IE, не только в старых версиях. Не совсем уверен, что html5shiv решит проблему...
- person Alvaro; 12.08.2015
Вы можете попробовать заменить тег <template>
на <script>
<script id="fancyTemplate"></script>
<script type="text/x-template" id="fancyTemplate"></script>
- person BYTE RIDER; 20.11.2018
Вы можете скрыть элемент с помощью CSS: template { display:none !important; }
И если вам нужно получить доступ/клонировать контент, как это изначально возможно в других браузерах, используйте этот полифилл: https://github.com/jeffcarp/template-polyfill
Но имейте в виду, что содержимое
<template>
по-прежнему можно найти в DOM и выполнить — предотвращение именно этого является основной целью тега. Никакой полифилл не может остановить это, IE снова замедляет современную веб-разработку.