Html 内联SVG:chrome和opera无法检测到外部资源

Html 内联SVG:chrome和opera无法检测到外部资源,html,svg,snap.svg,Html,Svg,Snap.svg,也就是说,它在Firefox上运行良好,但是,当使用chrome或opera访问它时,“相框”不会显示 我特意将父元素的高度设置为0%问题来自于自动关闭标记 据英国《每日邮报》报道,Chrome在这里很受欢迎 “SVG和MathML元素,其开始标记具有单个“/”字符 在结束符“>”之前,字符被标记为 自动关闭。” SVG脚本元素应该被识别为HTMLSVGElement中的外来元素,因此如果它没有内容,则应该允许使用self-closing标记 要解决这个问题,最好的解决方案是始终使用显式结束标记

也就是说,它在Firefox上运行良好,但是,当使用chrome或opera访问它时,“相框”不会显示


我特意将父元素
的高度设置为0%
问题来自于自动关闭
标记

据英国《每日邮报》报道,Chrome在这里很受欢迎

“SVG和MathML元素,其开始标记具有单个“/”字符 在结束符“>”之前,字符被标记为 自动关闭。”

SVG脚本元素应该被识别为HTMLSVGElement中的外来元素,因此如果它没有内容,则应该允许使用self-closing标记


要解决这个问题,最好的解决方案是始终使用显式结束标记:

我觉得如果svg仍要内联,您可能会有更一致的行为,将所有js代码(如Snap)保留在svg代码之外。
function init(){
  mySvg=Snap("#mySvg");
  //....a lot of elements initializations
  mySvg.attr({height:"100%"});
}