sto*_*een 4 javascript svg browser-feature-detection
我编写了一个脚本来测试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已完成加载之前函数运行; 推迟这个的最好方法是什么?
我让事情变得复杂了; 我真正需要的只是加载事件:
function SVGDetect() {
var testImg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNzUiIGhlaWdodD0iMjc1Ij48L3N2Zz4%3D';
var img = document.createElement('img')
img.setAttribute('src',testImg);
img.addEventListener('load',setCSS,true);
}
Run Code Online (Sandbox Code Playgroud)
这在图像加载时运行另一个功能,这在浏览器不支持图像中的SVG的情况下是绝对不会的.