我在某些服务器上的html文件中显示.svg图像时遇到问题.这让我感到困惑,因为我认为浏览器决定是否渲染svg图像,但浏览器保持不变.我正在使用以下字符串来显示它们:
<img src='path/to/image.svg' alt='image' />
Run Code Online (Sandbox Code Playgroud)
在一台RHEL6服务器上,它显示在另一台RHEL5服务器上,它不会.httpd的版本分别为2.2.15-9.el6和2.2.3-53.el5.网络浏览器与Google Chrome 12.0.742.122保持一致.服务器之间是否有什么东西可以决定svg图像是否被渲染?
错误日志不报告任何内容,访问日志为.svg文件提供状态200和304.
javascript:如何在HTML img元素支持中检测SVG?
我试过这个,但它不起作用:
x = new Image();
x.onload = function(){
if (x.width) {
alert('svg in img tag supported!');
}
};
x.src = 'test.svg';
Run Code Online (Sandbox Code Playgroud) 我编写了一个脚本来测试IMG标记中的SVG支持:
function SVGinIMG() {
var SVGdata = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNzUiIGhlaWdodD0iMjc1Ij48L3N2Zz4%3D'
var i = document.createElement('img');
i.setAttribute('src',SVGdata);
return i.complete;
}
window.onload = function() {
var hasSVG = SVGinIMG();
alert(hasSVG);
}
Run Code Online (Sandbox Code Playgroud)
这就是我想要的,除了当我在WebKit浏览器中运行脚本时,我第一次加载页面时不会触发complete属性; 当我刷新页面时,它可以正常工作.在返回的IMG已完成加载之前函数运行; 推迟这个的最好方法是什么?