Javascript 引导样式不适用于Chrome 35上的阴影DOM
我已经使用Bootstrap 3.1.1和Polymer 0.2.4很长一段时间了,突然-可能是从上次Chrome自动更新(版本35.0.1916.114)开始-Bootstrap停止了阴影DOM元素的样式设置。我已经能够检查这些节点中的CSS类在使用Chrome DevTools检查(阴影)DOM时是否没有出现。在其他浏览器中,如Firefox,它仍在工作 我不知道这是我缺少的还是某种bug,但是这种奇怪的样式行为在jsbin上可以直接看到。为了说明我的问题,我从一个实际组件中提取了两段经过改编的代码:Javascript 引导样式不适用于Chrome 35上的阴影DOM,javascript,css,twitter-bootstrap,polymer,shadow-dom,Javascript,Css,Twitter Bootstrap,Polymer,Shadow Dom,我已经使用Bootstrap 3.1.1和Polymer 0.2.4很长一段时间了,突然-可能是从上次Chrome自动更新(版本35.0.1916.114)开始-Bootstrap停止了阴影DOM元素的样式设置。我已经能够检查这些节点中的CSS类在使用Chrome DevTools检查(阴影)DOM时是否没有出现。在其他浏览器中,如Firefox,它仍在工作 我不知道这是我缺少的还是某种bug,但是这种奇怪的样式行为在jsbin上可以直接看到。为了说明我的问题,我从一个实际组件中提取了两段经过改
- (工作示例)
- (非工作示例)
另外,我还用Polymer 0.3.1对其进行了检查,结果相同。您看到的是原生阴影DOM和polyfill之间的差异。第一个示例之所以有效,是因为样式没有跨越阴影dom边界。它们只适用于光域 解决方案是在元素中包含样式表。更多信息:
- $20style/聚合物开发/lv8JznvOH4s/1mzv5oadRbgJ
wcloader
标记,负责包含全局范围的库(BS、jQuery等)。直到几天前,这个解决方案仍然有效,因为这些全局库渗透到了影子DOM中。我现在意识到这与shadowdom
封装背道而驰。对于使用这种wc加载程序
s,您有什么看法?有没有办法实现它们(以避免在每个模板中重复链接
标记)?Blink工程师告诉我们,在元素中包含重复的样式表成本很低。来自Elliot:“在Chrome 35中,@import
或@media
将禁用样式表共享。在Chrome 36中,只有@import
将禁用共享。引导应该在36分钟内就可以了。我认为它有@media
规则,导致Chrome35出现问题。我知道,@import
是一把猎枪。我们希望最终能解决它。:)“对于第三方lib,您可以使用HTML导入在您的应用程序中包含依赖项:只需包装lib:Hi Eric。我们尝试了您提出的解决方案(将wc loader转换为一个简单的页面,该页面包含在导入中)。结果是,当宿主页面是HTML页面时,它似乎可以工作,但当它是模板时,它失败。