svg.js使用中的一个bug

来源:互联网 发布:google 云计算 入华 编辑:程序博客网 时间:2024/03/29 13:48

关于SVG.js解析带命名空间的svg数据生成dom节点错误的bug

  • 错误实例
  • bug修正

svg数据:

  <cge:PSR_Ref ObjectID=""  GlobeID="000"/>  <cge:Layer_Ref ObjectName="ss"/>

调用svg.js中的svg(“svg数据”)方法加载svg图形;

生成的dom节点:

<cge:PSR_Ref ObjectID=""  GlobeID="000">  <cge:Layer_Ref ObjectName="ss"></cge:Layer_Ref></cge:PSR_Ref >

问题所在:将两个兄弟节点的数据变成了父子节点的关系。

bug修正:
打开svg.js文件,在1165行左右,将

svg.replace(/\n/, '').replace(/<(\w+)([^<]+?)\/>/g, '<$1$2></$1>')改正为svg.replace(/\n/, '').replace(/<(\w+)([^<]+?)\/>/g, '<$1\$2></\$1$2>')

就ok了。
错误原因:正则表达式错误。结束标签没有正确对应开始标签。

第一次写博客,写的不好的地方,请指教!

原创粉丝点击