Fernbedienung
mdkiller
- javascript
Hallo Forum!
Ich werd langsam echt blind! Ich kriege diese dämlich Fehlermeldung nicht weg (spk ist undefiniert)!
Folgendes Script:
function oeffne2(url){
url2='http://www.xyz.de/index.html#url='+url;
spk = window.open(url2, 'newwin', 'location=yes,menubar=yes,toolbar=yes,status=yes,resizable=yes,scrollbars=yes');
spk.focus();
return true;
}
function oeffne(url){
if (spk){
if (!spk.closed && spk.top.svm){
url2='http://www.xyz.de/'+url;
spk.parent.pb.location.href=url2;
spk.focus();
return true;
}
else {oeffne2(url);}
}
else {oeffne2(url);}
}
function gehezu(url){
if (parent.opener && !parent.opener.closed && parent.opener.top.svm){
url2='http://www.xyz.de/'+url;
parent.opener.parent.pb.location.href=url2;
}
else {oeffne(url);}
}
Soll quasi eine Fernsteuerung sein. Wenn der opener noch exisitiert, soll der angklickte Link (ich denk auch an die JS-losen User) sich in diesem öffnen, ansonsten in einem neuen Fenster, und wenn dieses dann noch existiert, in jenem, ansonsten halt wieder in einem neuen.
Es funktioniert sogar. Es kommt nur im IE und im Firebird die Meldung, dass in Zeile 10, also bei if (spk) spk undefiniert sei. Aber das will ich doch genau mit dieser Abfrage testen.
Oder hab ich da einen Denkfehler drin?
Ausserdem funktioniert der focus nicht. Woran könnte das liegen?
Danke für eure Hinweise schonmal im Voraus!
Gruß
mdkiller
Es funktioniert sogar. Es kommt nur im IE und im Firebird die Meldung, dass in Zeile 10, also bei if (spk) spk undefiniert sei. Aber das will ich doch genau mit dieser Abfrage testen.
Oder hab ich da einen Denkfehler drin?
du musst auf typeof spk != 'undefined' testen
Struppi.
hi,
Es funktioniert sogar. Es kommt nur im IE und im Firebird die Meldung, dass in Zeile 10, also bei if (spk) spk undefiniert sei. Aber das will ich doch genau mit dieser Abfrage testen.
spk wird _innerhalb_ der funktion oeffne2() angelegt (auch wenn du das schlüsselwort var davor weggelassen hast), ist also demzufolge _ausschliesslich_ innerhalb dieser funktion bekannt - und in oeffne() deshalb nicht.
versuche mal, spk ausserhalb der funktion schon zu definieren,
var spk;
so dass es eine globale statt einer lokalen variablen ist.
gruss,
wahsaga