为什么自定义样式表在 Safari 中访问百度页面时无法生效?

为什么自定义样式表在 safari 中访问百度页面时无法生效?

自定义样式表在 safari 中失效的原因

用户尝试在 safari 偏好设置中添加自定义样式表,代码如下:

body {
    background-image: url("/users/luxury/desktop/wallhaven-o5762l.png") !important;
}

测试后发现,在用户自己的网页上,该样式可以生效,而在百度页面上则无法生效。

原因

这是因为文件协议(file)和超文本传输协议(http)之间的区别造成的。

用户自己的网页使用 file 协议,因此可以应用本地目录中的图片文件。而百度页面使用 http 协议,无法使用本地文件目录地址作为背景图片引用地址。

解决方法

因此,在 web 开发中,应尽量避免使用 file 协议来访问项目(特殊情况除外),也不应使用本地文件目录地址作为引用地址。

此外,用户可以使用 base64 编码将图片嵌入 css 中,以确保图片在其他域中也能正常显示。

补充

对于用户样式表,safari 可能单独处理本地文件引入问题。用户可以尝试将代码修改为:

background: #ffbebe url("/Users/luxury/Desktop/wallhaven-o5762l.png") !important;

看看是否能应用上。

以上就是为什么自定义样式表在 Safari 中访问百度页面时无法生效?的详细内容,更多请关注其它相关文章!