2010-11-24 70 views
0

我加载的SVG到HTML通过了jQuery SVG插件的方法如下不兼容:jQuery的SVG的负载功能与IE 8

<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,以便立即访问SVG DOM中的onLoad回调。

谢谢。

回答

4

只是为了说明这个问题:IE8不支持svg,所以即使您设法正确加载了SVG元素,如果没有某种js填充或插件,它们仍然不会呈现。你尝试过SVGWeb吗?有些帮助在svgboilerplate.com开始。

尽管IE9可能能够运行代码,但您必须测试并查看。

+0

IE第一次打开HTML时,建议加载Adobe SVG查看器。我将进一步调查SVGWeb。 – labrassbandito 2010-11-24 14:32:56

0

您可以使用Adobe SVG Viewer作为IE浏览器。这应该不是问题。

在开发人员网站上,示例在所有版本的IE 6至8和FF上都正常工作。如果我在我的环境中尝试使用这个插件的一个小例子(例如通过本地主机(XAMPP)或直接访问该文件),它可以很好地运行Firefox,但不适用于IE。