在Mozilla Firefox中的SVG路径模式中的图像?

时间:2010-08-15 12:40:44

标签: firefox svg

我有a jigsaw demo in SVG的开头,可以在Opera,Chrome和Safari中使用,但不适用于Firefox:背景rect显示,但这些内容完全缺失。

这些部分由path元素组成,其fill属性引用pattern,后者又包含已翻译图像的副本,以便图像的正确部分位于路径下的剪辑。这些部分由JavaScript代码生成。

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

如果有人能告诉我是否

,我会感兴趣
  1. 我误读了SVG规范,我正在做的事情根本不适用 - Opera,Chrome和Safari只是善良;或

  2. Firefox有一个众所周知的包含图案的图片错误,有一个简单的解决方法。

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

2 个答案:

答案 0 :(得分:0)

首先快速观察:如您所知,SVG是XML,因此您正在结束脚本标记是错误的。

删除
</script>

特别是因为你已经自己关闭了该元素。

答案 1 :(得分:0)

祝你节日快乐!我已经使它在Firefox上工作,对JavaScript进行了微小的改动!

图像,符号和图案都是红色的鲱鱼。问题是路径数据。旧版本看起来像这样:

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是正确的,其他浏览器过于仁慈,但要确保需要更仔细地重新阅读规范而不是我现在的心情。 : - )