romero: activexobject( wscript.shell ) - Problem?

Beitrag lesen

Brauche hier dringend Eure Hilfe.

hier mal die Scriptauszüge:

<head>	  
	<title>Stuecklistenscript</title>  
	  
	<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">  
	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">  
  
...

... hier wird die globale Variable Pfad_Temp_Benutzer definiert:
(hier bringt er mir, bei var WshShell = new ActiveXObject("WScript.Shell"), dass er da kein Automatisierungserver auf das Objekt erstellen kann)

  
			//--> C:\Documents and Settings\User\Local Settings\Temp  
			//--> Pfad_Temp_Benutzer -> Ersetzbar für C:\Temp  
			  
			var WshShell = new ActiveXObject("WScript.Shell");  
			var WshSysEnv = WshShell.Environment("Process");			  
			Pfad_Temp_Benutzer = WshSysEnv("TEMP").replace( /\\/g, "/" );

... dann wird folgende init-Funktion aufgerufen (aus dem Hauptscript):

init_Zusatzmatten_SA_LR()

... und diese sieht dann (verkürzt) wie folgt aus:

		function init_Zusatzmatten_SA_LR()  
		{  
			...  
  
			AuswahlForZusatz_SA_LR( out_zusatz_SA_LR, list_zusatz_SA_LR );  
  
			//----------------------------------------//  
			//-- Einfügen des neuen Script-Elements --//  
			//----------------------------------------//  
  
			s = document.createElement( "script" );  
			s.setAttribute( "type", "text/javscript" );  
			s.setAttribute( "src", Pfad_Temp_Benutzer + "/Zusatzmattenauswahl_SA_LR.js" );  
			  
			document.getElementsByTagName( 'head' )[0].appendChild(s);  
  
			//----------------------------------------------//  
			//-- Auswahlliste für die Zusatzmatten starten--//  
			//----------------------------------------------//  
  
			Auswahl2();  
  
			...  
		};  
  
	//--------------------------//  
	//-- Zusatzmatten-Auswahl --//  
	//--------------------------//  
  
		function ergebnisZeigenZusatz_SA_LR( selected )  
		{  
			if( selected.length )  
			{  
  
				var sel = '';  
				var val = '';  
				var txt = '';  
				for( var i = 0; i < selected.length; i++ )  
				{  
					sel += ( i>0 ? ' &rarr; ' : '') + selected[i].id;  
					val += ( i>0 ? ' &rarr; ' : '') + selected[i].value;  
					txt += ( i>0 ? ' &rarr; ' : '') + selected[i].text;  
				};  
			};  
  
		};  
  
	//-------------------------------------------------------------------------------------------------------------//  
	//-- Datei erstellen, wo alle Zusatzmatten enthalten sind (zum Einlesen für die LinkedSelectionZusatz_SA_LR) --//  
	//-------------------------------------------------------------------------------------------------------------//  
  
		function AuswahlForZusatz_SA_LR( out, variante )  
		{  
			...  
			//-----------------------------------------------------------------------------//  
			//-- leere Datei öffnen und mit der gesamten Liste der Zusatzmatten befüllen --//  
			//-----------------------------------------------------------------------------//  
  
			var fso = new ActiveXObject("Scripting.Filesystemobject");  
  
			file = fso.OpenTextFile(Pfad_Temp_Benutzer + "/Zusatzmattenauswahl_SA_LR.js", 2, true);  
			file.write( "var Zusatzmatten_SA_LR = { 'Zusatz_SA_LR' : { " + Zusatz_HTZ_SA_LR + "}, 'ZusatzVariante_SA_LR' : { " + Zusatz_Varianten_SA_LR + "} };" );  
			file.close();  
  
			return;  
		};  
  
	//----------------------------------------------------------------------//  
	//-- LinkedSelectionZusatz_SA_LR entsprechend definieren und ausgeben --//  
	//----------------------------------------------------------------------//  
  
		function Auswahl2()  
		{  
			var vkZusatz_SA_LR = new LinkedSelectionZusatz_SA_LR( [ 'Zusatz_SA_LR', 'ZusatzVariante_SA_LR' ], ergebnisZeigenZusatz_SA_LR, Zusatzmatten_SA_LR );  
		};

Ich vermute mal, dass es an dem Teil des document.getElementsByTagName( "head" )[0].appendChild() liegt.

Ich habe schon mittels s.setAttribute( "type", "text/javascript" );, um den Typen des neuen Script-Elementes zu bestimmen auf "text/javscript" bzw. application/javascript zu ändern. Aber dabei kam eine erneute Fehlermeldung, dass die Variable (für die function Auswahl2()) Zusatzmatten_SA_LR nicht definiert ist. Auch das mit dem vorherigem Einlesen der Datei Zusatzmattenauswahl_SA_LR.js geht es nicht (also das Umgehen des Einfügen des Script-Elementes).

Lass ich alles beim Alten (siehe wie oben), kommt da die Fehlermeldung das bei "ihrem" Temp-Pfad file:///C:/DOCUME~1/BENUTZERNA~1/LOCALS~1/Temp/Datei.js ungültiges Zeichen ist (Zeile:1 / Zeichen:1)

Der Ordner für Ihren Benutzername ist aber alles mit Kleinbuchstaben geschrieben.

Gebe ich aber die Variable Pfad_Temp_Benutzer aus, bringt er C:/DOCUME~1/benutzername/LOCALS~1/...
Die Datei erstellen macht er ja, aber er bekommt darauf irgendwie kein Zugriff mit dem IE8.

Woran liegt es nun? An den zuletzt durchgeführten Updates? Weiß aber nicht genau was für Updates das waren.

LG Romero