Frage

Aus irgendeinem Grund, den ich nicht meine SVG-Filter zur Arbeit in Firefox bekommen. Sie funktionieren in Opera, aber. Das Element, dessen Eigentum ich gerade verschwindet auf dem Filter eingestellt. Es ist sehr seltsam.

Hier ist mein Javascript-Code:

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);
}

Alle Gedanken? Dank

War es hilfreich?

Lösung

Paul Irish eine Demo gemacht Anwendung SVG Filter HTML 5 Video .

Der Quellcode für die Live-Demo zeigt, wie zwischen den Filtern wechseln. In diesem Fall werden alle SVG Stücke werden direkt in die Seite als Tags geschrieben, nicht dynamisch über JavaScript eingefügt.

Es könnte versuchen helfen und bekommt es mit gerade nach oben Tags arbeitet, dann auf JavaScript wechseln, sobald es funktioniert. Es kann einige seltsame Kuriosität der Umsetzung sein (Bug), die sich nur zum Ausdruck bringt, wenn dynamisch erstellt (/ Spekulation).

Auch kann es nicht, welche Version von Firefox hängen Sie verwenden. Ich bin nicht sicher, welche Version gestartet SVG Filter unterstützt, aber Paul Post scheint darauf hinzudeuten es kann ein Nightly Build erforderlich ist.

Viel Glück!

Andere Tipps

Dass Farbmatrix scheint mir, wie es sollte jede Komponente jeder Farbe voll und ganz auf drehen, so dass das Element vollständig weiß.

(Es könnte auch einfacher sein, für andere Menschen, um herauszufinden, ob Sie die URL eines vollständigen Beispiels geschrieben, das Problem zeigen, anstatt nur einen JavaScript-Snippet, dass andere Leute zu Test Theorien erlauben würde, warum es schief läuft.)

Dies könnte zu Firefox Bug # 308590 bezogen werden. Kurz gesagt Firefox Filter URLs resolve schlägt fehl, wenn Sie Ihre SVG aus einem Datum-URL geladen werden oder Sie haben eine -Tag in Ihrem Dokument.

In Ihrem Beispiel Firefox sieht für url (# cm-mat) irgendwo außerhalb des eingebetteten Dokuments. Leider wurde es erst vor kurzem festgelegt und in meinem Fall fand ich keine Abhilfe, aber wegzulassen den Basis-Tag irgendwie.

Ihre Seite Bedürfnisse als XML bedient werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top