ThomasM: Problem mit IE9 beim Einbinden von SVG-Files auf Netzlaufwerken

Beitrag lesen

Hallo Holger,

ich möchte ein svg-File einbinden, welches sich auf einem Netzlaufwerk unseres Fileservers befindet (Laufwerk m:). Mit älteren Versionen des IE's funktioniert das auch, allerdings weigert sich der IE9. Ich erhalte mehrere Skript-Fehler (SCRIPT5: Zugriff verweigert), z.B. bei:
var object = document.plan.getSVGDocument();
document.getElementById("plan").getSVGDocument() wirft den selben Fehler

Ich vermute, dass dies eine Sicherheitsfrage bezüglich des cross-domain-scriptings ist, allerdings befinden wir uns ja hier in unserem lokalen Intranet. Also wo ist das Häkchen im IE, welches ich setzen muss?

Kann ich leider nicht sagen (*), aber die Beobachtung bestätigen. Das folgende Beispiel funktioniert unter Vista erstaunlicherweise mit Opera 11.10 sowohl lokal als auch bei Netzwerkverknüpfung, im IE 9 und im FF 4.0.1 jedoch nur lokal (Ausgabe red):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">  
  <head>  
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />  
    <title>Test</title>  
  </head>  
  <body onload="alert(document.getElementById('plan').getSVGDocument().getElementById('kreis').getAttribute('fill'))">  
    <div id="svgcontainer">  
      <object type="image/svg+xml" data="file:///X:/svgtest/test.svg" width="200" height="200" id="plan"></object>  
    </div>  
  </body>  
</html>

test.svg:

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">  
<svg xmlns="http://www.w3.org/2000/svg">  
  <circle id="kreis" cx="100" cy="100" r="30" fill="red"/>  
</svg>

BTW: Bei den getesteten Browsern funktioniert statt getSVGDocument() auch contentDocument.

(*) Meine Idee, dem Netzwerk-Verzeichnis und allen Dateien darin den Vollzugriff für den Benutzer NETZWERK zuzuweisen, hat nichts gebracht. Seltsam ist ja, dass Opera der Zugriff gelingt.

Grüße,
Thomas