jQuery SVG的加载功能与IE 8不兼容

时间:2010-11-24 09:45:59

标签: jquery internet-explorer svg onload

我通过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。

感谢。

2 个答案:

答案 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。