Hallo,
wer sich mit SVG und dem Adobe SVG Viewer 3.0 befasst, wird wissen, dass Mozilla ab RC 1 und auch in der finalen Version 1.0 beim Zugriff auf das SVG-PlugIn abstuerzt. Die offizielle Aussage vom Mozilla-Team ist die, dass Adobe den Viewer ueber ein noch unfertiges ("unfrozen") API anspricht, welches nach 0.9.9 geaendert wurde.
Ich habe nun mal probiert, SVG-Dokumente nicht ueber <object data="..." width="..." height="..." type="image/svg+xml"> sondern mittels <iframe src="..." width="..." height="..." type="image/svg+xml"> einzubinden und das funktioniert erstaunlicherweise mit Mozilla 1.0 sowie auch mit < 1.0 und Netscape 6.x. Der IE zeigt dagegen den XML-Baum im IFrame an.
In meinem Server-seitigen Projekt MSpec::SVG (eigentlich eine Intranetanwendung) ist nun diese Abfrage via PHP enthalten:
$ua=$HTTP_SERVER_VARS["HTTP_USER_AGENT"];
if(strstr($ua,"Gecko") && strstr($ua,"rv:1."))
{
// Code fuer iframe
}
else
{
// Code fuer object
}
Das scheint (unter Windows 2000 und 98) ganz passabel zu funktionieren: http://ktd.et.fh-merseburg.de/~tm/mspec/. Aeltere Mozillas und Netscape 6.x-Browser erhalten das bewaehrte object, deshalb die zusaetzliche Abfrage auf "rv:1.".
Natuerlich ist eigentlich Adobe gefordert, aber ich bin doch ganz froh, dass mir nun Mozilla 1.0 nicht mehr dauernd abraucht bzw. ich mal von 0.9.9 wegkomme.
BTW: Welchen User-Agent-String liefert die Preview von Netscape 7.0, die ja auch auf Mozilla RC 1 basiert?
MfG, Thomas
PS: Invalide embed-Mauscheleien fuer Netscape 4.x sind in diesem Projekt nicht angedacht.