我对Polymer感到非常兴奋,并开始开发Web应用程序。我很快发现Firefox无法正确加载该网站,有关详细信息,请参见此SO帖子:
Polymer:在Firefox中搞砸了版式,在Chrome中很好用
然后,我在iPhone 4(iOS7)上下载了最新版本的Chrome,并在iPhone 6(iOS8)上下载了相同版本的内容,并尝试了该网站。我看到的错误与在Firefix上看到的错误相同(请参见上面的链接)。
换句话说-使用Chrome for iOS进入基于Polymer的网站失败与Firefox失败一样糟糕。
正如我在上面链接的其他SO问题中所指出的那样,由于“ polyfill”,我期望它在所有浏览器中都能正常工作,但这似乎无济于事。
我想念什么吗?=)
注意:使用Android版Chrome可以正常运行,那里没有错误。
正如我在另一个线程中提到的那样,不可能对CSS作用域进行polyfill。iOS上的Chrome实际上不是Chrome,它是使用iOS WebView构建的(当时是旧版本),这意味着没有原生的Shadow DOM和CSS作用域。Shadow DOM polyfill确实正确包装了诸如查询选择器和getElementById之类的DOM API方法,因此在这方面,您确实获得了有限的封装。但是对于CSS,polyfill唯一可以做的就是重命名选择器,因此:host .blah被重命名为x-foo .blah并附加到头部的样式标签中。这意味着您仍然需要编写防御性的CSS(就像今天一样),并避免使用非常松散的选择器,因为它们将被应用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句