angular2 如何在一些流行的浏览器不支持的情况下使用 shadow dom?

How angular2 is going to use shadow dom while it's not supported in some popular browsers?

来自documentations

When a component is instantiated, Angular

creates a shadow DOM for the component.
loads the selected template into the shadow DOM.
creates a child Injector which is configured with the appInjector for the Component.

但是,据我所知,阴影 DOM 在 IESafari 甚至 Safari 中尚不支持在 Firefox 的默认配置中!
考虑到 shadow DOM 不是可以通过 js 库或其他东西轻松添加到浏览器的功能,浏览器将如何支持 angular2?

PS: 原谅我叫IE和Safari(特指IE)流行浏览器!

Angular 2 有两种 Shadow DOM 模式:模拟和原生。换句话说,没有 Shadow DOM 支持的浏览器将获得有效但较慢的 polyfill。

Discussion & Source code

Angular2 和 Polymer 都使用 Polyfills 来模拟阴影 DOM。 Polymer 称之为 Shady DOM

请注意,这些 polyfill 仅在最新版本的浏览器中受支持,例如 IE 11。