HTML5模板在Internet Explorer上不工作,如何解决?

HTML5模板在Internet Explorer上不工作,如何解决?,html,internet-explorer,web-component,html5-template,Html,Internet Explorer,Web Component,Html5 Template,我用HTML5制作了一个模板,可以与Chrome和Firefox一起使用,但不能与Internet Explorer一起使用(在IE8上测试) 如何解决此问题?您正在搜索 它“启用”所有html5元素,这些元素在旧的internet explorer版本中不可用。获取的副本,并在IE小于9的地方使用: <!--[if lt IE 9]> <link rel="stylesheet" href="styles/ie.css" type="text/css"> <sc

我用HTML5制作了一个模板,可以与Chrome和Firefox一起使用,但不能与Internet Explorer一起使用(在IE8上测试)

如何解决此问题?

您正在搜索

它“启用”所有html5元素,这些元素在旧的internet explorer版本中不可用。

获取的副本,并在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]-->

我向您推荐Neovov的polyfill:

注意:IE11中有一个bug:在呈现DOM之前,它会移动到元素下面!因此parentNode属性是错误的,嵌套将失败。 您可以在[F12]工具中看到它。

只需在模板中添加“显示:无”。为i.e.11工作

<template id="fancyTemplate" style="display:none"></template>

您可以尝试将
标记替换为


您可以使用CSS隐藏元素:
模板{display:none!important;}

如果您需要在其他浏览器中以本机方式访问/克隆内容,请使用以下polyfill:

但是请记住,
的内容仍然可以在DOM中找到并执行,这正是标记的主要目标。没有任何polyfill可以阻止这种情况的发生,即再次减缓了现代网络的发展


首先,我们需要一些代码…可能是@knotty的副本当然,只要重新发明html5shiv所做的一切:)knotty是对的,不值得重写html5shiv。顺便问一下,为什么是IE8?这是6年前的版本。当时没有任何东西支持现代HTML5。如果您需要免费资源来测试internet explorer的现代版本,请访问,并提供免费的虚拟机。
,而不仅仅是旧版本。不太确定HTML5是否解决了这个问题…非常好的解决方案,谢谢!显示
内容,而不管它在
中。这可能是最好的,但仍然有限。因为模板标记中的内容是呈现的,所以您必须注意仍然遵循HTML嵌套规则——尽管功能正常的模板元素可以忽略这些规则。我的一些页面上出现了“意外的结束标记”和类似的内容。例如:我一直试图在模板中放置一个表行。因为(我认为)TR不能仅仅存在于身体内部,即移除TR和TD,只留下TD的内容。(即使使用shivs或polyfills,IE基本上将模板视为一种类似Div的对象,HTML层次结构也起作用)没错,完全多填充模板tagRight是不可能的。只是想给人们一个提醒,以防他们期望这是一个完全的替代品。:-)不要忘记添加一个类型,因为默认值是javascript<代码>
<script id="fancyTemplate"></script>