Unlogischer Fehler in Proxy-Konfigurationsscript

Benzol

Erfahrenes Mitglied
Servus! Ich hätte eine kleine Frage. Kenne mich nicht sonderlich gut aus mit js, aber ich muss trotzdem ein Anmeldescript für die Proxyeinstellungen im INetExplorer hinbekommen. Mein Problem ist, das wenn man z.B. http://www.google.de in die Adresszeile eingibt, er den nachfolgenden Code nicht mehr beachten sollte, da die FUnktion bereits per Return verlassen wurde. Oder irre ich und in js verlässt man eine Funktion mit return in JS nicht?! Hier mal der Code...

Code:
function FindProxyForURL(url, host) 
{
 	if(url.search(/www.+/) != -1) return "PROXY proxy:port";
	else  { 
		if (	   url.search(/test3.+/) != -1
			|| url.search(/test4.+/) != -1
		   } reuturn "PROXY proxy2:port; PROXY proxy3:port";

		if (	   localHostOrDomainIs(host, "test") 
			|| localHostOrDomainIs(host, "test2") 
			|| url.search(/111.11..+/) != -1 
			|| url.search(/111.22..+/) != -1 
		   ) return "DIRECT";
		else return "PROXY proxy:port";
	} 
}

Ip Adressen und namen von Proxys habe ich absichtlich abgeändert, darf ich nicht veröffentlich da Firmengeheimniss. Alle Adresse existieren aber.
Wie man sieht, benutze ich 3 verschiedene Proxys. Der eine ist der Standart Proxy, die anderen beiden treffen nur zu, wenn entweder test3 der test4 eingebeben wurden sind. Problem ist nur, das man nicht ins www kommt, wenn proxy2 oder 3 eingetragen wurden. Und proxy2 und 3 werden IMMER eingetragen, auch wenn man http://www.google.de eingibt. Wisst ihr vieleicht Rat? :confused:
 
Zuletzt bearbeitet:
Entferne mal die Syntaxfehler aus dem Skript... solange die da sind, weigert sich JS, es auszuführen.
Zum Einen fehlt eine schliessende Klammer beim letzten if-Abzweig, und "reuturn" ist in JS kein Sprachbestanddteil.
 
Meine Kristallkugel ist grad beim TÜV.... wenn du posten könntest, wie das Ganze jetzt nach der Fehlerbehebung aussieht, wäre das von Vorteil;)
 
Na das ist doch kein Prblem ;)

Code:
function FindProxyForURL(url, host) 
{
 	if(url.search(/www.+/) != -1) return "PROXY proxy:port";
	else  { 
		if (	   url.search(/test3.+/) != -1
			|| url.search(/test4.+/) != -1
                      )  return "PROXY proxy2:port; PROXY proxy3:port";

		if (	   localHostOrDomainIs(host, "test") 
			|| localHostOrDomainIs(host, "test2") 
			|| url.search(/111.11..+/) != -1 
			|| url.search(/111.22..+/) != -1 
		   ) return "DIRECT";
		else return "PROXY proxy:port";
	} 
}
 
Und nun.... die ersten beiden Abzweige funktionieren bei mir....
soll ich erraten, was sich hinter "localHostOrDomainIs()" verbirgt, und wieviele Syntaxfehler sich dort verstecken ;-]
 
Da solltest du Microsoft fragen, die haben die Funktion geschrieben. In der MSDN wurde diese Funktionen aufgelistet, um zu überprüfen, ob der der host und die url dem entsprechen, was man als par1 und par2 übergeben kann :)
Also ich hab da bestimmt keinen Syntaxfehler reingehaun... chichi.
Ne die Funktion ist von MS und ist glaube ich nur bei den Konfigurationsscripten verfügbar.
Sind auch richtig geschrieben, denn im Einzelnen funktionieren sie ja.
 
Na prima... ich darf jetzt also mehrere TerraByte MSDN durchforsten, um diese Funktion zu suchen(die MSDN-Suche lieferte übrigens jenes Resultat)

Nix für ungut, aber wenn man dir jeden Codeschnipsel einzeln aus der Nase ziehen muss, solltest du vielleicht alleine zusehen, wie du klarkommst.
 
!

Darum geht es doch garnicht. Diese Funktionen funktionieren doch! Das habe ich alles einzeln geprüft. Nur seiddem der if-Block mit den 2 Proxys drinne steht, geht es nicht mehr. Du hast gesagt, das die ersten beiden Abfragen funktionieren. Genau das ist der Punkt, sie funktionieren eben nicht. Wenn in die Adresszeile etwas mit www. eingegeben wird, dann sollte der restliche Codeblock doch garnichtmehr beachtet werden. Verstehst du was ich meine? Das ist mir so seltsam, besonders weil es ohne den Block
Code:
		if (	   url.search(/test3.+/) != -1
			|| url.search(/test4.+/) != -1
                      )  return "PROXY proxy2:port; PROXY proxy3:port";
Problemlos funktioniert! Ist dieser Block drinne, werden IMMER die Proxys proxy2 und 3 eingetragen. Das ist doch nicht Normal! Hier ist sind nochmal die Beispiele von MS. Eine genauere Erklärung oder eine Objectreferenz habe ich bisher auch nicht gefunden.
MSDN
 
Ok, ich scheine den Fehler irgentwie gefunden zu haben. Jetzt funktioniert es auf Wundersame weise :) Danke trotzdem für die Hilfe... ;)
 
Zurück