为什么我的 Firefox 不显示博客背景图
问题
最近给自己的 Hexo + Butterfly 博客加了一张背景图片。
奇怪的是,背景图片并不是所有浏览器都正常。
目前测试下来:
- Chrome:正常
- 手机 Firefox:正常
- 桌面版 Firefox:不显示
也就是说,图片本身大概率没有损坏,问题更可能出现在桌面版 Firefox 对页面 CSS、图片资源或者缓存的处理上。
开始排查
遇到这种问题,第一反应不是马上修改配置,而是先确认图片到底有没有成功加载。
打开 Firefox 的开发者工具:
F12 → 网络(Network)
然后刷新页面。
搜索图片文件的扩展名,例如:
1 | jpg |
查看背景图片对应的请求状态。
如果出现:
1 | 404 |
就说明图片资源本身没有正常加载。
如果请求返回 200,则说明 Firefox 已经成功获取图片,需要继续检查 CSS。
检查 CSS
Butterfly 的背景图最终会通过 CSS 设置,例如:
1 | body { |
可以使用 Firefox 的开发者工具检查 body 或对应元素。
如果 background-image 被划掉,或者最终计算出来的样式中没有背景图片,就需要继续检查 CSS 的优先级或者自定义 CSS。
直接打开图片
还可以把 CSS 中的图片 URL 复制出来,直接粘贴到 Firefox 地址栏。
如果图片能够直接打开:
图片 URL → Firefox 中正常显示
那么图片服务器和图片文件本身基本没问题。
这时就应该重点检查 CSS。
如果直接打开也无法显示,就应该检查图片格式、响应头、URL 或服务器配置。
后续
通过上面各种检查后发现应该不是代码问题,那就只能来看看插件了,因为我手机版的 Firefox 和电脑版装的插件差不多,所以一开始就没往这方面想。
最后通过关闭拦截追踪器的插件并强制刷新网页后确定了具体原因。
对于这种浏览器兼容问题,最重要的不是不断修改 CSS,而是先找到浏览器实际报出的错误。
毕竟:
1 | 看到问题 |
比盲目修改配置有效得多。
这也是我折腾自己的博客时遇到的一个小问题。
