您好,我需要document.registerElement
的备用代码。因为到今年6月,它将被Chrome删除。任何人都可以为我提供上述代码的替代代码。
答案 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>