SVG-Marker funktioniert nicht in IE9-10

8

Beim ersten Mal auf Svg.   Ich habe folgende Svg-Definition für einen 'pfeilartigen' Pfad

%Vor%

Aber es zeigt keinen Pfeil am Ende des Pfades in IE 9 oder IE 10

Wird 'Dreieck' im IE oder Problem im Code nicht unterstützt?

Ein Beispiel hier Ссылка funktioniert auch nicht in IE.

>

Hilfe Bitte, das ist der einzige Punkt, an dem mein Workflow-Editor hängen geblieben ist.

Verknüpfungsergebnis

Das Ergebnis meines Codes in FF ist:

Und Code-Ergebnis in IE ist (es gibt keinen Pfeil, kein Quadrat am Ende des Pfeils):

    
Shanta 15.07.2013, 12:45
quelle

7 Antworten

7

Das Problem wurde bereits an Microsoft gemeldet, wie xdhmoore in seiner Antwort schrieb: Ссылка

Es gibt eine Geige wo das Problem gezeigt wird: Ссылка

%Vor%

Meine Abhilfe besteht darin, den Knoten manuell aus dem DOM zu entfernen und ihn erneut hinzuzufügen. Dadurch wird der Knoten wie gewünscht aktualisiert ... Sprechen Sie nicht über Leistung und so, aber ich denke, derzeit gibt es keinen besseren Weg dafür. ( Ссылка )

    
kaljak 16.12.2013 11:17
quelle
2

Ich hatte das gleiche Problem und es verursachte mir ziemlich Kopfschmerzen - ich kann wirklich nicht verstehen, warum Microsoft das nicht repariert. Ich entschied mich dafür, die Markierungen durch benutzerdefinierte Pfade zu ersetzen, was den netten Nebeneffekt hat, dass Sie z. Ändern Sie die Füllung oder die Farbe zur Laufzeit mit JavaScript.

Ich erstelle meinen Svg mit d3, die Kante hat die Klasse 'edge-path' und die Spitze hat die Klasse 'edge-tip'. Beide Wege sind Kinder eines svg: g. Die Kante selbst ist ein Spline, also nehme ich zum Drehen der Spitze die Neigung der letzten 10 Pixel. Dies ist so ziemlich der Code, der verwendet wird, um den Pfeil zu aktualisieren, funktioniert in IE9-11:

%Vor%

Vielleicht hilft es jemandem:)

    
frow 23.06.2014 10:15
quelle
1

Ich habe Probleme gehabt, Linien dynamisch mit Markern zu bewegen. Sie werden beim Seitenladen angezeigt, bewegen sich aber nicht, wenn die x / y-Attribute der Linien geändert werden.

Ссылка

Ссылка

    
xdhmoore 03.12.2013 21:59
quelle
1
___ qstnhdr ___ SVG-Marker funktioniert nicht in IE9-10 ___ qstntxt ___

Beim ersten Mal auf Svg.   Ich habe folgende Svg-Definition für einen 'pfeilartigen' Pfad

%Vor%

Aber es zeigt keinen Pfeil am Ende des Pfades in IE 9 oder IE 10

Wird 'Dreieck' im IE oder Problem im Code nicht unterstützt?

Ein Beispiel hier Ссылка funktioniert auch nicht in IE.

>

Hilfe Bitte, das ist der einzige Punkt, an dem mein Workflow-Editor hängen geblieben ist.

Verknüpfungsergebnis

Das Ergebnis meines Codes in FF ist:

Und Code-Ergebnis in IE ist (es gibt keinen Pfeil, kein Quadrat am Ende des Pfeils):

    
___ answer24363428 ___

Ich hatte das gleiche Problem und es verursachte mir ziemlich Kopfschmerzen - ich kann wirklich nicht verstehen, warum Microsoft das nicht repariert. Ich entschied mich dafür, die Markierungen durch benutzerdefinierte Pfade zu ersetzen, was den netten Nebeneffekt hat, dass Sie z. Ändern Sie die Füllung oder die Farbe zur Laufzeit mit JavaScript.

Ich erstelle meinen Svg mit d3, die Kante hat die Klasse 'edge-path' und die Spitze hat die Klasse 'edge-tip'. Beide Wege sind Kinder eines svg: g. Die Kante selbst ist ein Spline, also nehme ich zum Drehen der Spitze die Neigung der letzten 10 Pixel. Dies ist so ziemlich der Code, der verwendet wird, um den Pfeil zu aktualisieren, funktioniert in IE9-11:

%Vor%

Vielleicht hilft es jemandem:)

    
___ antwort43962297 ___

Ein Problem in IE scheint zu sein, dass marker die Eigenschaften stroke , stroke-width und fill erbt (im Gegensatz zu den Standards).

Dies kann jedoch umgangen werden, indem die Stricheigenschaften explizit festgelegt werden.

Betrachten Sie das Problem mit

Ссылка

Durch Setzen der Marker stroke="none" und fill="black" scheint das Rendering in Ordnung zu sein:

Ссылка

Hinweis: Ich habe dies nur in IE11 getestet. Meine Vermutung ist, dass es zumindest in IE10 auch funktionieren wird. Alle Informationen dazu sind sehr willkommen.

    
___ answer20362593 ___

Ich habe Probleme gehabt, Linien dynamisch mit Markern zu bewegen. Sie werden beim Seitenladen angezeigt, bewegen sich aber nicht, wenn die x / y-Attribute der Linien geändert werden.

Ссылка

Ссылка

    
___ answer20609600 ___

Das Problem wurde bereits an Microsoft gemeldet, wie xdhmoore in seiner Antwort schrieb: Ссылка

Es gibt eine Geige wo das Problem gezeigt wird: Ссылка

%Vor%

Meine Abhilfe besteht darin, den Knoten manuell aus dem DOM zu entfernen und ihn erneut hinzuzufügen. Dadurch wird der Knoten wie gewünscht aktualisiert ... Sprechen Sie nicht über Leistung und so, aber ich denke, derzeit gibt es keinen besseren Weg dafür. ( Ссылка )

    
___ answer17656728 ___

Dies schien in IE10 für mich gut zu sein (Rautenform links und Dreieck rechts).

Allerdings gibt es einige bekannte Probleme mit Markern in IE. Zum Beispiel unterstützt IE keine markerUnits="strokeWidth".

    
___ tag123internetexplorer ___ Internet Explorer (üblicherweise abgekürzt IE oder MSIE) ist ein von Microsoft entwickelter Webbrowser, der Teil von Microsoft Windows ist. ___ tag123svg ___ Scalable Vector Graphics (SVG) ist ein XML-basiertes zweidimensionales Vektorgrafikformat, das auch in HTML verwendet werden kann. Fügen Sie dieses Tag nicht hinzu, nur weil Ihr Projekt SVG verwendet. Fügen Sie stattdessen das Tag hinzu, wenn Ihre Frage entweder SVG betrifft oder eng damit verbunden ist, wie Sie etwas mit SVG erreichen können. ___ answer38354428 ___

Wenn Sie eine andere Gruppe um das Element legen und innerhalb dieser Gruppe definieren, funktioniert die Markierung in MS Edge und anderen.

%Vor%     
___ answer42696400 ___

Ich konnte in IE11 keine Marker zum Arbeiten bekommen, aber in Edge funktionieren sie. Der Trick besteht darin, für Inline-SVGs %code% für die Marker zu verwenden, anstatt nur %code% .

Bearbeiten: Tatsächlich funktioniert %code% . Nicht sicher warum.

Edit 2: Ugh. Das bricht das SVG in Chrome. Sie können die ID duplizieren: %code% .

Edit 3: Hmm scratchen, dass es scheint, in Edge schließlich zu arbeiten. Keine Ahnung was los ist.

    
___
Daniel 14.05.2017 09:22
quelle
0

Dies schien in IE10 für mich gut zu sein (Rautenform links und Dreieck rechts).

Allerdings gibt es einige bekannte Probleme mit Markern in IE. Zum Beispiel unterstützt IE keine markerUnits="strokeWidth".

    
Paul LeBeau 15.07.2013 14:31
quelle
0

Wenn Sie eine andere Gruppe um das Element legen und innerhalb dieser Gruppe definieren, funktioniert die Markierung in MS Edge und anderen.

%Vor%     
Martin Schmid 13.07.2016 14:24
quelle
0

Ich konnte in IE11 keine Marker zum Arbeiten bekommen, aber in Edge funktionieren sie. Der Trick besteht darin, für Inline-SVGs xml:id für die Marker zu verwenden, anstatt nur id .

Bearbeiten: Tatsächlich funktioniert anything:id . Nicht sicher warum.

Edit 2: Ugh. Das bricht das SVG in Chrome. Sie können die ID duplizieren: id="foo" edge_sucks:id="foo" .

Edit 3: Hmm scratchen, dass es scheint, in Edge schließlich zu arbeiten. Keine Ahnung was los ist.

    
Timmmm 09.03.2017 13:15
quelle

Tags und Links