我最近在我所有的网站上都使用了出色的PrefixFree,总的来说它很有魅力。但是今天我发现了一个非常非常奇怪的问题——在我网站的几个页面上,当脚本出现时,一个额外的样式集被加载,与页面上的其他样式冲突,完全打乱了布局。
我无法确定这些额外的样式来自哪里-它们不是我在这些特定页面上链接到的任何样式表的一部分。如果我从页面中删除PrefixFree或将其注释掉,它们会立即消失,并且所有内容再次正确显示。
据我所知,PrefixFree通过在当前页面上查找<link>
和<style>
元素并解析它们来工作。那么,它究竟是如何导致额外的样式应用到页面上的呢?
啊哈!我发现带有"幻影"样式的页面引用了两个不再存在的样式表。我删除了对这些样式表的引用,现在页面显示正确,脚本仍然在那里。
一方面,这解决了问题;另一方面,我仍然不知道那些额外的风格是从哪里来的。它们不是被删除的样式表的一部分,所以它甚至不像脚本是根据缓存副本或其他东西执行的。在我的网站上,我仍然找不到任何这些风格的痕迹。
很奇怪,但我认为这已经解决了,因为它确实解决了我的问题!