Mozilla Firefox中SVG路径中的图像?

Mozilla Firefox中SVG路径中的图像?,firefox,svg,Firefox,Svg,我在Opera、Chrome和Safari中都有这样的开始,但在Firefox中没有:背景rect显示,但所有片段都完全缺失了 这些片段由一个路径元素组成,该元素的填充属性引用一个模式,该模式又包含一个已翻译图像的副本,以便图像的正确部分位于路径的剪辑之下。这些片段由JavaScript代码生成 我偶尔会遇到故障模式,图像无法显示,但在这种情况下,路径的笔划应该是可见的。在Firefox上,我甚至看不到笔划 如果有人能告诉我 我误读了SVG规范,我所做的根本不应该起作用,Opera、Chrome

我在Opera、Chrome和Safari中都有这样的开始,但在Firefox中没有:背景
rect
显示,但所有片段都完全缺失了

这些片段由一个
路径
元素组成,该元素的
填充
属性引用一个
模式
,该模式又包含一个已翻译图像的副本,以便图像的正确部分位于路径的剪辑之下。这些片段由JavaScript代码生成

我偶尔会遇到故障模式,图像无法显示,但在这种情况下,路径的笔划应该是可见的。在Firefox上,我甚至看不到笔划

如果有人能告诉我

  • 我误读了SVG规范,我所做的根本不应该起作用,Opera、Chrome和Safari只是出于善意;或

  • Firefox有一个众所周知的包含图像的模式bug,它有一个简单的解决方法


  • 这是我第三次尝试让图像作为不规则形状拼图的背景:过滤器不起作用,因为它们似乎没有办法翻译它们所指的图像,仅仅用
    clipPath
    放置一个图像是不起作用的,因为在Safari中拖动图像会试图将图像文件拖到桌面上,这会干扰在拼图上拖动碎片

    第一个快速观察:正如您所知,SVG是XML,所以您结束脚本的标记是错误的。移除

    </script>
    
    
    

    特别是因为你已经自我关闭了这个元素。

    哦,祝你快乐!我对JavaScript做了一点小小的改动,就可以在Firefox上运行了

    图像、符号和图案都是暗示性的。问题在于路径数据。旧版本如下所示:

    M0,0 h250 v120,q0,20 -20,20,t-20,-20,-20,-20,-20,100,20,100,20,-20,20,-20,20,20,v120 h-250 v-400 z
    
    新版本看起来像这样

    M0,0 h250 v120 q0,20 -20,20 t-20,-20 -20,-20 -20,100 20,100 20,-20 20,-20 20,20 v120 h-250 v-400 z
    

    JavaScript代码中的一个错误是使用逗号来分隔一些命令,而不是空格。我认为在这种情况下Firefox是正确的,其他浏览器过于仁慈,但要确保这一点,需要比我现在心情更仔细地重新阅读规范。:-)

    我很困惑,我根本不知道页面上有标签。对不起。很明显,铬合金插入了这一点。我首先查看了Chrome中的源代码。不要理会我说的话。