我在几个测试环境中提供服务的网站上有一个SVG徽标。除了我们制作的最新版本之外的所有环境中,此徽标都可以正常加载在最新的环境中,SVG徽标无法在Chrome和Safari中加载,但在Firefox中加载正常。我无法弄清楚根本原因或甚至开始寻找的地方。
有问题的代码类似于
<a href="/" id="logo" title="home"><img src="/images/logo.svg"></a>
在Chrome和Safari中,服务器返回HTTP 200,但响应中不包含任何数据。结果是图像图标被破坏。
我的第一个想法是,这是一个文件权限问题。我尝试了chmod 777
和chmod 644
以及chown root
和chown www-data
。没有效果。
我的第二个想法是它是一个浏览器缓存问题。但是在Chrome和Safari中以隐身模式运行并清除浏览器的缓存无效。
对我来说更奇怪的是,如果我在Safari或Chrome中通过https://ourhost/images/logo.svg
直接打开SVG,那么回复是正确的。
该站点由Apache2上本地托管的Wordpress提供。
UPDATE :当Manivannan意识到这一点时,这与jQuery无关。我已经编辑了
答案 0 :(得分:2)
jq没问题。最好将svg转换为数据:URL并通过CSS后台使用以支持多个。为svg支持的浏览器添加CSS类名(通过JS获取)。
<i role=image class=logobg />