Cross browser 让Polymer 3.0元素向后兼容IE11和Firefox 56?

Cross browser 让Polymer 3.0元素向后兼容IE11和Firefox 56?,cross-browser,polymer,frontend,compatibility,web-component,Cross Browser,Polymer,Frontend,Compatibility,Web Component,我有一个聚合物3.0的成分。目前只有Chrome版本67.0.3396.99支持开箱即用。 Firefox 61.0.1给出了错误类型error:window.customElements未定义 Edge给出了以下错误: SCRIPT5007:SCRIPT5007:无法获取属性 未定义或空引用的“polyfillWrapFlushCallback” settings.js(15,14)。SCRIPT5131:SCRIPT5131:函数不是 构造器 Polymer文档不清楚,也没有一个没有问题的分

我有一个聚合物3.0的成分。目前只有Chrome版本67.0.3396.99支持开箱即用。 Firefox 61.0.1给出了错误类型error:window.customElements未定义

Edge给出了以下错误:

SCRIPT5007:SCRIPT5007:无法获取属性 未定义或空引用的“polyfillWrapFlushCallback”

settings.js(15,14)。SCRIPT5131:SCRIPT5131:函数不是 构造器

Polymer文档不清楚,也没有一个没有问题的分步指南。有人能提供一些经过尝试和测试的步骤,使Polymer 3.0组件在最新的浏览器和IE11等较旧的浏览器中工作。

安装polyfills:

npm install @webcomponents/webcomponentsjs
然后加载webcomponents-loader.js以检查并加载浏览器所需的任何多边形填充。在index.html中,在对web组件的任何引用之前添加以下内容:

<script src="node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js"></script>


希望这能帮助别人

我通过添加webcomponents-loader.js使其运行,比如:

 <script src="./node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js"></script>
                <script src="./components/subscriber-modal.js" type="module"></script>

但现在我需要找到一种方法将ES6 WebComponent转换为ES5,以便使用

<script src="./node_modules/@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js"></script>


运行传输组件。但仅仅使用巴贝尔给出了不需要定义的错误。因此,我们将尝试使用browserify。

请注意,您必须同步加载webcomponents-loader.js,因此请确保在您的浏览器中不使用async(在chrome中,它与async配合良好,但ie不能)。 我第一次遇到同样的问题,我的脚本如下:

<script src="./node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js" async></script>

您使用的是webcomponents polyfill吗?Polyfills(webcomponent loader.js)在firefox 45中似乎不起作用