【问题标题】:jQuery SVG's load function not compatible with IE 8jQuery SVG 的加载功能与 IE 8 不兼容
【发布时间】:2011-05-15 00:03:45
【问题描述】:

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

谢谢。

【问题讨论】:

    标签: jquery internet-explorer svg onload


    【解决方案1】:

    简单地说:IE8 不支持 svg,因此即使您设法正确加载 SVG 元素,如果没有某种 js shim 或插件,它们仍然无法呈现。你试过 SVGWeb 吗?在svgboilerplate.com 上重新开始的一些帮助。

    IE9 可能可以运行代码,你必须测试并查看。

    【讨论】:

    • 第一次打开 HTML 时,IE 建议加载 Adob​​e SVG 查看器。我将进一步研究 SVGWeb。
    【解决方案2】:

    您可以将 Adob​​e SVG 查看器用作 IE 的查看器。那应该不是问题。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-29
      • 1970-01-01
      • 1970-01-01
      • 2011-10-02
      • 1970-01-01
      • 1970-01-01
      • 2012-05-26
      • 2014-06-03
      相关资源
      最近更新 更多