问题标签 [html-imports]
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.
javascript - 升级自定义元素时如何执行脚本
我已经定义了一个自定义元素,并且我只想在自定义元素升级到其注册类型时才执行脚本。用例是我必须调用自定义方法。
我的主 html 文件如下所示:
自定义元素在 HTML 导入中注册,如下所示:
我的问题很简单:如何确保仅在自定义元素获得其custom_method
方法后才调用主 html 文件中的脚本?
我正在寻找一个优雅的解决方案。规范作者会想到的东西。我不介意改变架构(例如,如果有必要,将 javascript 从主文件移动到另一个自定义元素中)。
javascript - 使用 webcomponenetsjs 的 HTMLImports 以意外的执行顺序加载导入 - firefox
我是 webcomponenetsjs 的新手,我一直在尝试使用 HTMLImports 将另一个 HTML 导入我的 index.html。由于 chrome 支持 HTML 导入,我对此没有任何问题。但是,当我尝试使用 firefox 进行相同操作时,HTML 导入无法按预期工作。问题是它加载了所有的 HTML 元素,加载了所有的脚本,然后只加载了 |link rel="import"|。开始执行导入。为了更清楚,以下是触发警报的顺序: 1.在
供应商
之后 2.在导入之前
3.在 vendor.js 中警报
4.在 test.html 中警报。
默认情况下,html 导入的执行就像
1.alert 在 vendor.js
2. 在供应商之后
3. 在 import.js 之前
4.alert 在 test.html 中。
当然,它在 chrome 中的工作顺序相同。对我所缺少的任何帮助将不胜感激。
css - Polyfill HTML 导入:为什么没有获取 CSS?
我试图让 HTML Imports 工作,但到目前为止只有部分运气。具有原生支持的 Chrome 做得很好,但在例如带有来自 webcomponents.org 的 Polyfill 的 Firefox 中,甚至没有获取 CSS,我在开发人员工具的网络部分验证了这一点。JS 按预期加载。
这是我正在做的一个最小的例子:
我需要做一些额外的事情来处理 polyfill 环境中的 CSS 吗?
我很确定与 CORS 相关的阻塞不是问题,因为相同的设置适用于 Chrome。非常感谢任何正确方向的指针。
javascript - Polymer:加载 html 导入时浏览器渲染停止
当像这样加载一个巨大的硫化 html 导入时:
<link rel="import" src="elements.html"/>
浏览器渲染完全被阻止(这意味着即使是简单的加载动画也不可能)。添加 async="true" 稍微改善了这种情况,但加载时非常滞后,因此无用。在进行(持续几秒钟)html 导入工作时,如何向用户显示一个像样的加载屏幕?
web-component - 如何模拟 HTML 导入以进行测试
我正在为我的自定义元素编写测试。我使用Web Component Tester,所以使用 Sinon.js 进行模拟会很棒。
我的自定义元素<link rel="import" href="something.html">
动态添加。
我如何存根内容something.html
?
javascript - `HTMLImports.whenReady` 和 `window.addEventListener('WebComponentsReady', function(e) {` 有什么区别?
HTMLImports.whenReady
和 和有什么不一样window.addEventListener('WebComponentsReady', function(e) {
?
“要在主 HTML 文档中定义元素,请从 HTMLImports.whenReady(callback) 中定义元素。当文档中的所有导入完成加载时调用回调。”
在原生导入下,主文档中的标签会阻止导入的加载。这是为了确保导入已加载并且其中的任何注册元素都已升级。这种原生行为很难 polyfill,因此 HTML Imports polyfill 不会尝试。相反,WebComponentsReady 事件代表了这种行为:
两者有什么区别?
html - 如果 HTML 导入已失效/已弃用,那么导入 Web 组件(X-Tag)模板的最佳方式是什么?
我正在开发我的第一个 X-Tag 应用程序,在它的页面上它说它可以与 Web 组件 API 一起使用,例如“自定义元素、Shadow DOM、模板和 HTML 导入”。
我已经开始处理我的模板,但是既然 HTML 导入已被弃用,那么导入它们的最佳选择是什么?
angularjs - 使用 jasmine/karma 在 PhantomJS 中导入角度组件
以下单元测试在 Chrome 中工作(由于它对 HTML 导入的本机支持),但我正在努力让它与 PhantomJS(以及其他浏览器)一起工作。
我正在尝试填充导入('webcomponents.js/HTMLImports.min.js'),但它没有任何效果。
业力.conf.js
组件/so-example.html
测试/test.spec.js
来自 PhantomJS 的错误
javascript - 聚合物升级后,当作为 HTML 导入加载时,会创建两次复选框
问题
我将聚合物从 0.5 升级到 1.5,纸质复选框现在出现了两次。
进步
我尝试运行 polyup 并浏览了整个聚合物升级指南,但没有一个程序解决了这个问题。我确实发现了两件事:
1.
正常工作时,html看起来像
我发现在我的情况下它看起来像
这使我相信聚合物正在两次处理纸张复选框。但是,我仔细检查了,我没有多次加载 paper-checkbox.html,这是我在这方面唯一的想法。
2.
主要内容在一个飞入中,其部分作为 html 导入加载。我发现导入的 html 中的纸质复选框表现出这种行为,但是如果我将纸质复选框硬编码到飞入中,它可以正常工作。
问题
什么会导致聚合物尝试处理纸张复选框两次?html 导入可能会导致这种情况怎么办?
编辑:
应托尼的要求转储代码。
默认.html
import.js 相关函数