为什么自定义样式表在 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 中访问百度页面时无法生效?的详细内容,更多请关注其它相关文章!