我通过jQuery SVG插件将SVG加载到HTML中,如下所示:
<div id="map"></div>
<script type="text/javascript">
$('#map').svg();
var svg = $('#map').svg('get');
svg.load('myimage.svg',{onLoad: function(){ alert('ready'); }});
</script>
这段代码适用于Firefox和Chrome,但不适用于IE(版本8,未经过其他版本测试)。插件生成的代码如下所示:
<div id="map" class="hasSVG">
<svg version="1.1" x="0.0px" y="0.0px" ... ></svg>
</div>
那么......为了支持IE,我如何修改我的代码呢?我的约束:我需要内联加载SVG,以便在 onLoad 回调中立即访问SVG DOM。
感谢。
答案 0 :(得分:4)
只是说明显而易见:IE8不支持svg,所以即使你设法正确加载SVG元素,如果没有某种js shim或插件,它们仍然无法呈现。你试过SVGWeb吗?一些帮助开始svgboilerplate.com。
IE9可能能够运行代码,你必须测试并查看。
答案 1 :(得分:0)
您可以将Adobe SVG Viewer用作IE的查看器。那应该不是问题。
在开发者网站上,这些示例在IE 6到8和FF的所有版本上运行良好。如果我在我的环境中尝试这个插件的一个小例子(例如通过localhost(XAMPP)或直接访问该文件),它可以很好地使用Firefox但不适用于IE。