Wenn ich cloneNode()
für ein Element mit dem Namen feGaussianBlur
aufruft, das das Attribut stdDeviation
hat, konvertiert InternetExplorer (10 und 11) den Wert immer in 1.72443e+009
.
Hier ist ein Vierliner, der das Problem veranschaulicht: Ссылка
Wenn Sie den Elementnamen ändern, einen anderen Attributnamen verwenden oder die Fidel auf einem anderen Browser (Chrome, Firefox) ausführen, wird alles wie erwartet ausgeführt. Die Verwendung eines anderen Attributwerts ändert nichts.
Was könnte der Grund für dieses wirklich seltsame Verhalten sein? Und kann man etwas dagegen tun?
Hier eine modifizierte Fiedel, die jQuerys clone()
anstelle von cloneNode()
verwendet und leider das gleiche Ergebnis liefert: Ссылка
Dies ist ein klarer Fehler im Internet Explorer. Es stimmt zwar, dass Internet Explorer stdDeviation
anstelle von stdDeviationX
und stdDeviationY
verwendet, die Funktion cloneNode()
hat jedoch nichts damit zu tun, mit den Attributen herumzualbern. Es sollte einen Klon des Knotens zurückgeben, keinen Knoten mit geänderten Attributen.
Sie sollten dies dem Internet Explorer-Entwicklerteam melden (falls Sie Zeit dazu haben). Gegenwärtig können Sie wahrscheinlich nur eine manuelle Problemumgehung implementieren.
Das Problem ist, dass IE das stdDeviation-Attribut nicht verwendet. Stattdessen verwendet es stdDeviationX und stdDeviationY.
Siehe diese Geige ... FIDDLE
Hier ist die Microsoft-Seite für feGaussianBlur
%Vor%Tags und Links javascript internet-explorer jquery svg clone