chrome

时间:2019-05-09 07:13:03

标签: javascript jquery google-chrome ember.js

您好,我需要document.registerElement的备用代码。因为到今年6月,它将被Chrome删除。任何人都可以为我提供上述代码的替代代码。

3 个答案:

答案 0 :(得分:3)

根据MDN

  

警告:不推荐使用document.registerElement(),而推荐使用customElements.define()

您可以在文档中找到如何使用它的示例。

customElements.define()在Chrome 66 +,Firefox 63 +,Opera 53+和Safari 10.1+中可用。

答案 1 :(得分:2)

document.registerElement()属于the Custom Elements (web components) spec v0

不赞成使用v0。

在下一版本document.registerElement()中,没有v1的直接替代方案(一对一)。组件向 v1 的迁移涉及许多变化,这些变化仅仅是用对其他新方法的调用来代替document.registerElement()

与v0相比,v1规范具有生命周期挂钩更改。根据您的使用情况,迁移可能会非常快,或者会很痛苦。

如果您希望继续使用v0(也就是说,继续使用document.registerElement()而不进行其他任何更改),则必须诉诸v0 polyfill。我听说的唯一一个是https://github.com/WebReflection/ce-v0,其中涉及的只是添加:

<script src="https://unpkg.com/ce-v0@latest/min.js"></script>

但是,当然,当使用这种-或任何-polyfill时,您应该真正测试您的应用程序,以确保行为没有改变。

答案 2 :(得分:0)

如果您有一个需要使用的旧库,而又没有时间重写功能,请使用脚本将其导入:

<script src="//unpkg.com/document-register-element"></script> 
<script src="//unpkg.com/built-in-element"></script>