问题标签 [html5-template]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
115 浏览

html5-template - 在模板标签中使用无效/不完整的 html

我想为某些行制作模板,但我想知道规范是否允许省略行的封闭表格标记。如果我想遍历生成的 DOM,以下是有效的 html 吗?

还是我必须这样做?

插入不正确的 DOM 会使一些浏览器尝试纠正它。在某些情况下,它会创建封闭表和 tbody,因此遍历与原始源代码中看起来不同。这些规则是否适用于模板标签的内容?

0 投票
2 回答
1981 浏览

javascript - HTML 模板和 HTML 导入 - 内部脚本不在 Firefox 中执行

我正在使用 webcomponents.js 来填充 Firefox 对 Web 组件的支持。

通过 HTML 导入加载 HTML 模板时,一旦将基于模板的自定义元素添加到主页的 DOM 中,模板中的脚本就不会执行。

它在 Chrome 中运行网站时会执行(支持原生 Web 组件)。

但是,当模板放置在主页本身中时,Firefox 和 Chrome 都会执行此类脚本。

请参阅HTML5Rocks的 Eric Bidelmann 的示例。这可以在 Chrome 和 Firefox 中运行(通过 webcomponents.js)——只要模板位于同一个 HTML 文件中。

但是,当模板文本显示时,它不会在通过 HTML 导入链接加载模板及其内容时运行。如前所述,它会加载内容,但不会在 Firefox 中执行脚本。

这是 webcomponents.js 中的错误,还是 Firefox 中的错误?任何人都有解决方法的好主意(“使用 Polymer 或 Angular”除外)?

注意 - 这是基于使用 Firefox 43 和 Chrome 47。

0 投票
0 回答
620 浏览

javascript - 模板标签 innerHTML 打破脚本标签

<tr>我正在尝试通过包含元素的 HTML 解析器运行一串 HTML 。使用普通的 HTML 解析器,<tr>元素会消失,因为您无法在<table>元素之外创建它们。所以我尝试使用<template>元素并使用innerHTML,因为模板标签没有相同的限制并且可以<tr>很好地创建元素。这工作得很好,我能够很好地创建元素。

但是,后来我尝试使用标签而不是表格行来做同样的事情<script>,但是当模板添加到正文时,脚本标签不会运行。

但是,如果我能够创建一个脚本标签并将其附加到模板中,它就会起作用。

有谁知道为什么innerHTML对模板使用中断脚本标签(样式标签也可以使用这种方法正常工作)?

0 投票
2 回答
865 浏览

javascript - HTML中“模板”标签、“内容”标签和自定义元素标签之间的区别

我开始学习网络组件和聚合物。我知道有一些机制可以将内容与呈现分开,这对于动态呈现内容很重要。我还理解“内容”标签通过选择需要呈现的内容(例如,某些 HTML 标签或 id 或类等中的内容)来帮助实现这一点。但是,我觉得模板标签的使用也是为了将内容与展示分开,自定义元素标签的使用也是如此,而展示/渲染完全由 JavaScript 负责。

但是我们有 3 种不同类型的标签,它们都在做同样的事情:以更结构化的方式定义内容以便于呈现。我们可以将它们的一些机制组合成更少的标签吗?

如果能够解释模板标签、内容标签和自定义元素标签的作用,与 Web 工程中遵循的编程习惯和设计模式相关,那就太好了。

0 投票
1 回答
397 浏览

html - html5 模板标签:内容访问的后备

我在 webkit 浏览器 (JavaFX WebView 2.2) 中使用模板标签来存储我可以克隆并附加到文档主要部分的元素。

但是,我无法使用templateElement.content(HTML5 标准)访问其内容。相反,我使用 jQuery 通过选择器“ #templateElement div ”获取模板 TAG 中的元素。

似乎还没有完全支持模板标签(内部脚本也运行),尽管它的内容没有呈现。

我担心的是,当模板标签得到支持时,获取其内容的方式会中断,我的页面将停止工作。

无论未来的实现发生变化,获取模板内容的推荐方法是什么?

HTML:

JavaScript:

编辑

我认为 jQuery 将无法自动处理这个问题,即使在未来也是如此,因为模板“innerHTML”被故意路由到内容,因此 DOM 无法访问它(因此没有选择器意外地触及它)。

0 投票
2 回答
2899 浏览

javascript - 如何让导入的css字体/图标对shadow dom中的元素产生影响?

假设我想使用 shadow dom 创建自定义元素。模板中的某些元素在链接的 css 文件中指定了类名。现在我想让 css 规则对元素产生影响。但由于 shadow dom 样式边界,我无法做到这一点。

你看,fa-search是在 font-awesome css 文件中定义的一个类,我如何设置<i>元素的样式?

0 投票
1 回答
293 浏览

html - 中的外层 HTML 行为