HTTP 304通过jQuery.html()加载SVG

时间:2015-12-10 19:36:51

标签: html svg

我在几个测试环境中提供服务的网站上有一个SVG徽标。除了我们制作的最新版本之外的所有环境中,此徽标都可以正常加载在最新的环境中,SVG徽标无法在Chrome和Safari中加载,但在Firefox中加载正常。我无法弄清楚根本原因或甚至开始寻找的地方。

有问题的代码类似于

<a href="/" id="logo" title="home"><img src="/images/logo.svg"></a>

在Chrome和Safari中,服务器返回HTTP 200,但响应中不包含任何数据。结果是图像图标被破坏。

broken image icon

我的第一个想法是,这是一个文件权限问题。我尝试了chmod 777chmod 644以及chown rootchown www-data。没有效果。

我的第二个想法是它是一个浏览器缓存问题。但是在Chrome和Safari中以隐身模式运行并清除浏览器的缓存无效。

对我来说更奇怪的是,如果我在Safari或Chrome中通过https://ourhost/images/logo.svg直接打开SVG,那么回复是正确的。

该站点由Apache2上本地托管的Wordpress提供。

UPDATE :当Manivannan意识到这一点时,这与jQuery无关。我已经编辑了

1 个答案:

答案 0 :(得分:2)

jq没问题。最好将svg转换为数据:URL并通过CSS后台使用以支持多个。为svg支持的浏览器添加CSS类名(通过JS获取)。 <i role=image class=logobg />