CSS和JS的范围界定是否已经适用于Polymer



简短问题:

如果我使用Polymer,它的polyfills是否适用于JS和CSS(例如,像iframe(?

假设我有一个小部件库,并且我想在同一页面上的多个版本中使用my-widget,我可以将这个小部件的每个版本都封装在Polymer元素中,这样小部件就可以安全地执行吗?

谢谢。

简短回答:是用于范围界定,否用于单独上下文中的JS

Shadow DOM的一个核心特性是CSS/DOM封装。在Polymer团队中,我们更喜欢将其视为"范围界定",因为当大多数人听到封装时,他们会自动想到安全性。ShadowDOM不是一个安全边界,它从来没有被设计成这样。它的设计目的是确定DOM子树的范围。JS仍然在主文档的上下文中执行。

也就是说,Shadow DOM提供了免费的CSS作用域,每个元素的API都提供了Custom Elements。当您将这些技术结合在一起时(就像Polymer所做的那样(,您将获得DOM、CSS、ANDJS的范围。

http://www.polymer-project.org/docs/polymer/polymer.html#propertiesmethodshttp://www.html5rocks.com/en/tutorials/webcomponents/shadowdom-201/

最新更新