为什么我的 Safari 自定义样式表在百度页面上失效了?

为什么我的 safari 自定义样式表在百度页面上失效了?

为什么在 Safari 中自定义样式表未能正常工作?

Safari 的偏好设置中设置自定义样式表后,您对其进行测试却发现效果不同。在您自己的网页中,样式有效,而在百度页面中却失效。

造成这种情况的原因是,第一个访问的项目使用了文件协议,可以访问本地目录中的图片文件。而第二个访问的百度使用了 http 协议,您期望使用本地目录中的图片作为背景图片,这是无法实现的。

网页开发的基本原则之一是尽量避免使用文件协议来访问项目(紧急情况下除外),也不要使用本地文件目录地址作为引用地址。

这是因为网页通常会部署到服务器上。此时,您设置的 background-image: url("/Users/luxury/Desktop/wallhaven-o5762l.png") 会被浏览器解析为 background-image: url("http://www.baidu.com/Users/luxury/Desktop/wallhaven-o5762l.png")。显然,服务器上不存在此文件或目录。因此无法正确加载所需的背景图片。但是,样式本身仍然会被正确应用,只是图片资源加载时会返回 404 错误。可以在 devTools 的网络面板中查看这一点。

此外,由于您使用了用户样式表,因此 Safari 可能进行了额外的处理以确保能够导入本地文件。您可以尝试将 background-image: url("/Users/luxury/Desktop/wallhaven-o5762l.png") !important; 修改为 background: #ffbebe url("/Users/luxury/Desktop/wallhaven-o5762l.png") !important;,看看是否可以应用。

以上就是为什么我的 Safari 自定义样式表在百度页面上失效了?的详细内容,更多请关注其它相关文章!