Pregunta

Por alguna razón no puedo conseguir mis filtros SVG para trabajar en Firefox. Ellos trabajan muy bien en Opera, sin embargo. El elemento cuya propiedad puse al filtro en sólo desaparece. Es muy extraño.

Aquí está mi código javascript:

defsElement = SVGDoc.createElement("defs");
var filterElement = SVGDoc.createElement("filter");
filterElement.setAttribute( "id", "cm-mat");
filterElement.setAttribute( "filterUnits", "objectBoundingBox");

var fecolormatrixElement = SVGDoc.createElement("feColorMatrix");
fecolormatrixElement.setAttribute("type", "matrix");
fecolormatrixElement.setAttribute("in", "SourceGraphic");
fecolormatrixElement.setAttributeNS(null, "values", "1 1 1 1 1  2 2 2 2 1  1 1 1 1 1  1 1 1 1 1");
filterElement.appendChild(fecolormatrixElement);
defsElement.appendChild(filterElement);
SVGDoc.documentElement.insertBefore(defsElement, SVGDoc.documentElement.childNodes.item(1));

partRef = getElementFromID(SVGDoc.documentElement, part);
if(partRef != null)
{
    partRef.style.setProperty('filter', 'url(#cm-mat)', null);
}

¿Alguna idea? Gracias

¿Fue útil?

Solución

Paul Irish hizo aplicando una demostración Filtros SVG en HTML 5 de vídeo.

El código fuente para espectáculos la demostración en vivo cómo cambiar entre los filtros. En ese caso, todas las piezas SVG se escriben directamente en la página como etiquetas, no se ha insertado de forma dinámica a través de JavaScript.

Puede ser útil para tratar de conseguir que funcione usando las etiquetas hacia arriba, a continuación, cambiar a JavaScript, una vez que está funcionando. Puede haber alguna extraña rareza de la aplicación (bug), que sólo se expresa cuando se crean dinámicamente (/ especulación).

Además, puede depender de ninguna versión de Firefox que está utilizando. No estoy seguro de qué versión comenzó a apoyar filtros SVG, pero después de Pablo parece sugerir que puede requerir una nightly build.

Buena suerte!

Otros consejos

que se ve el color de la matriz a mí como tiene que convertir cada componente de cada color a totalmente encendido, haciendo que el elemento completamente blanco.

(También podría ser más fácil para otras personas para averiguar si usted envió el URL de un ejemplo completo que muestra el problema en lugar de sólo un fragmento de código JavaScript, que permitiría a otras personas a probar teorías de por qué se va mal.)

Esto podría estar relacionado con Firefox Bug # 308590 . En resumen Firefox no puede resolver direcciones URL de filtro cuando su SVG se carga desde una URL o datos que tiene un -Tag en el documento.

En el ejemplo apariencia de Firefox para url (# cm-mat) en algún lugar fuera de su documento incrustado. Por desgracia, lo arreglaron sólo recientemente y en mi caso he encontrado ninguna solución, pero omitir la base de alguna manera-Tag.

sus necesidades página para ser servido como XML.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top