我对Polymer非常兴奋并开始开发一个网络应用程序。我很快发现Firefox无法正确加载网站,请参阅此SO帖子了解详情:
Polymer: Layout screwed up in Firefox, fine in Chrome
然后,我在iPhone 4(iOS7)上下载了最新版本的Chrome,并在iPhone 6(iOS8)上下载了同样的内容并尝试了该网站。我看到了与我在Firefix上看到的相同的错误(请参阅上面的链接)。
换句话说 - 使用Chrome for iOS访问基于Polymer的网站失败就像Firefox失败一样糟糕。
正如我在上面提到的其他SO问题中也指出的那样,由于" polyfill"我希望它可以在所有浏览器中工作,但这似乎没什么帮助。
我错过了什么吗? =)
注意:使用Chrome for Android工作正常,没有任何错误。
答案 0 :(得分:1)
正如我在另一个帖子中提到的,填充CSS范围是不可能的。 iOS上的Chrome实际上并不是Chrome,它是使用iOS WebView(原来的那个)构建的,这意味着没有原生的Shadow DOM和没有CSS范围。 Shadow DOM polyfill可以正确地包装DOM API方法,如querySelector和getElementById,因此在这方面你可以获得有限的封装。但对于CSS,polyfill唯一能做的就是重命名你的选择器,所以:host .blah被重命名为x-foo .blah并附加到头部的样式标签中。这意味着你仍然需要编写防御性CSS(就像你今天所做的那样),并避免使用非常松散的选择器,因为它们将被应用。
答案 1 :(得分:0)
我今天经历了一些非常奇怪的事情,也许它可能对你有帮助。
我的firefox呈现就好像polyfill不存在一样。
所以我在about:config
dom.webcomponents.enabled上又回到了假的状态,它又恢复了生机。
为什么呢?没有任何线索。
如果您在firefox dom.webcomponents.enabled
上有true
about:config
,那么它可以尝试一下。恕我直言看起来像一个有能力(但有缺陷和支持不足)的Web组件浏览器的polyfill错误。值得一试。