为什么我的 <app-globals> 到 Polymer 1.0 的端口在 Chrome 而不是 Firefox/Safari 上工作?

Why is my <app-globals>'s port to Polymer 1.0 on working in Chrome and not on Firefox/Safari?

我一直在尝试将 <app-globals> 元素行为移植到 Polymer 1.0,以在元素之间共享变量,如 illustrated in the Polymer 0.5 Developer Guide

我找到了一个完全适用于 Chrome 和 Chrome 的元素,适用于 Android,但似乎不适用于 Safari、Firefox 或 Chrome 对于 iOS。您可以查看 the live jsbin。只需在 Chrome 上打开它即可查看它是否正常工作。

为什么它在 Safari/Firefox 上不起作用? 我如何让它发挥作用?

我发现了几个导致您的示例无法运行的问题。我在这个 Plunker 中有一份你的代码的工作副本(我在 JS Bin 上遇到了一些问题,这就是我转向 Plunker 的原因)。

确保您 link 正确地访问了脚本(您使用的是 href 而不是 src)。

  <script src="webcomponentsjs/webcomponents-lite.min.js"></script>

如果您想在主文档中创建 Polymer 元素,请收听 HTMLImports.whenReady 事件 (docs)。这可能是 Firefox 出现问题的主要原因。

HTMLImports.whenReady(function () {
    Polymer({

注册元素时,需要再次使用is指定id。

Polymer({
    is: 'demo-test',
    populate: function() {