• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Problem mit IE9 beim Einbinden von SVG-Files auf Netzlaufwerken

Spekulatius2

Neues Mitglied
Hallo miteinander,

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?

Danke vorab für Eure Beteiligung!

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"           "http://www.w3.org/TR/html4/loose.dtd"> <html> 	<head>         <meta http-equiv="X-UA-Compatible" content="IE=9" > 		<title>Plan Viewer</title> 		<link rel="stylesheet" type="text/css" href="CutOS_H_Styles.css"></link> 		<script type="text/javascript" src="CutOS_H_Scripte.js"></script> 	</head> 	<body onload=init();> 		<form action="get"> 			<fieldset> 				<table border="0" width="100%"> 					... 				</table> 			</fieldset> 		</form>         <div id="huelle"> 			<object type="image/svg+xml" style="vertical-align:top" height="68%" width="100%" data="m:\000002_1_P0001.svg"	name="plan" id="plan"></object> 	    </div> 		<br> 		<form name="Interaktiv" action="get"> 			<fieldset id="FIELDSET1"> 				<legend>Optionen f&uuml;r Interaktivit&auml;t</legend> 				<table border="0" width="100%"> 					<tr> 						... 					</tr> 				</table> 			</fieldset> 		</form> 	</body> </html>
 
Eventuell Sicherheit

Probier mal etwas wie Extras --> Internet Optionen --> Sicherheit --> Intranet --> und dann den Fileserver hinzufügen. Ich hatte Probleme, wenn ich ein Programm über WSH auf einer Fileshare starten wollte. Am einfachsten ist es oft, erst mal eine Datei auf den Server zu legen und diese über die Adressleiste zu öffnen. \\server\share\test.htm. Dann siehst du unten in der Statusleiste, welchem Sicherheitsbereich die share zugeordnet ist.
Grüße, Rainer
 
Das bringt leider keine Änderung.

Dann bring das Objekt mal auf deinen PC, um wirklich auszuschließen, dass es nicht doch ein anderes Problem ist. Außerdem könntest du mal Testen, wenn du statt einer HTML-Datei eine lokale HTA Datei verwendest, bei der ja die Rechte wie bei einer Windows Anwendung sind.
 
Das habe ich bereits. Befindet sich das SVG-File auf einem lokalen Ordner, dann läuft des Skript einwandfrei.
Es ist ja auch so, dass in den vorhergehenden IE-Versionen alles rund lief.
Das HTML nun in ein HTA umzuschreiben wäre ein Riesen-Aufwand, wenn ich daran denke, dass das dazugehörige Skript über 1000 Seiten Code enthält. Außerdem ist das html Bestandteil einer MFC-Anwendung.
 
Du sollst nicht das Script in HTA umschreiben, nur minimalen Code um zu sehen, ob das Objekt geladen wird. Aber das ist ja unnötig, wenn die aktuelle Web-Lösung schon läuft, wenn das Objekt lokal ist. Ich würde dann doch nochmal versuchen, den Server in der IE Sicherheit aufzunehmen. Leg doch mal eine einfache helloworld.cmd (mit Echo Hello World gefolgt von Pause) auf den server und rufe diese aus der Adressleiste des IE aus auf. Und zwar 1x mit deinem Sharenamen M:\... und 1x mit dem vollen Pfad \\server\folder\helloword.cmd. Ich hatte das schon Probleme, dass eine Sicherheitsabfrage kam und die konnte ich lösen durch die Aufnahme des Servers in die Trusted Sides.


Achso, und wenn du den Server aufgenommen hast, versuch doch auch mal bei data="m:\000002_1_P0001.svg" den Servernamen.
 
In beiden Fällen läuft das cmd, nachdem ich die Sicherheitsfrage (Dateityp könnte schädlich sein) bestätigt habe.
By the way... Soll ich den Namen des Servers in die trusted zone, oder die Zone unseres Intranets aufnehmen? Beides geht nicht. Ich hab natürlich abwechselnd beides versucht, mit dem gleichen Ergebnis.
 
Hmmm, nun gehen mir langsam die Ideen aus. Also wir riefen aus VBSrcipt (Outlook) cmd-Dateien auf. Da kam eine Sicherheitsabfrage, wenn die auf einem Server lagen, auch wenn der Share ein Laufwerkbuchstaben zugeordnet wurde. Lösen konnten wir das Problem, indem wir den Server in das Intranet aufnahmen (Trusted wäre auch gegangen, je nach Sicherheitseinstellungen). Ich kann mich noch erinnern, dass selbst aus der cmd-box gab es Rückfragen, wenn die Prozedur auf dem Server lag. Auch mit einer VB6-ActiveX.Dll hatte ich mal Probleme beim CreateObject im Browser, wenn diese nicht speziell kompiliert war und als Trusted galt. Was passiert denn, wenn du den IE in den Kompatibilitätsmode schickst?
 
Zurück
Oben