attachShadow vs createShadowRoot

use*_*055 7 shadow-dom

我在mozilla doc中读到,不推荐使用Element.createShadowRoot():

不推荐使用此方法,而使用attachShadow.

但在我的金丝雀:铬49.0.2599.0

这工作:

 var shadow = document.getElementById("node-sh").createShadowRoot();  
Run Code Online (Sandbox Code Playgroud)

这不起作用

 var shadow = document.getElementById("node-sh").attachShadow({mode: 'closed'});
Run Code Online (Sandbox Code Playgroud)

谁知道什么是对的?

Abh*_*nav 14

createShadowRoot()是将阴影根附加到主机元素的旧方法.它是在最初的规范中提出的,然后被弃用了 attachShadow.规格也已更新.

但是,新API尚未标准化,目前没有任何浏览器支持它.所以我建议createShadowRoot现在坚持下去.一旦您开始获得弃用的浏览器警告,那将是移动的时间attachShadow.

  • @ user2225055好吧,如果它解决了你的问题,你可以将答案标记为正确,以帮助其他开发人员偶然发现这个问题.:) (3认同)