if (opener.location.....else....??
nansen
- javascript
0 Gunther0 Norbert Klein0 MudGuard
hi!
hier eine funktion die ein popup schliessen soll, falls es von der index aufgerufen wurde,
oder zur index gehen soll falls nicht:
function Gohome(){
var ho = "index.htm";
if(opener.location.href = ho)
self.close();
else
window.location.replace(ho);
}
aufgeruffen durch:
<a href="#" onClick="javascript:Gohome()">Fenster schliessen - Startseite</a>
die frage an einen freundlichen javascriptexperten lautet:
"warum funktioniert dieser script nicht?"
ebenfalls freundlich grüßt
nansen
Hey,
hast du es schon mal mit document.referrer probiert!?
(siehe Bsp. in SelfHTML für Erklärung)
Gruß
hi!
hast du es schon mal mit document.referrer probiert!?
ein guter tipp!
meine funktion habe ich so umgemodelt:
function Gohome(){
var ho = "index.htm";
if(document.referrer != ho){
window.location.href=ho;
target ="_self";
}
else
self.close();
}
leider funktioniert das selbst schliessen nicht.
mal sehen was der abend noch so mit sich bringt
nansen
hi!
mal sehen was der abend noch so mit sich bringt
und der brachte die lösung:
mein fehler war der aufruf und nicht die funktion selbst.
also:
eine funktion die ein popup schliessen soll, falls es von der index aufgerufen wurde, oder zur index gehen soll falls nicht:
function Gohome(){
var ho = "index.htm";
if (opener.location.href = ho)
self.close();
else
window.location.replace(ho);
}
aufgeruffen durch:
<a href="#" onClick="javascript:Gohome()">Fenster schliessen - Startseite</a>
funktioniert nicht
aber
aufgeruffen durch:
<a href="index.htm" onClick="javascript:Gohome()">Fenster schliessen - Startseite</a>
funktioniert sogar mit NS4.5.
wenn ich ein vergleichoperator "==" (opener.location.href == ho)nehme funktioniert es nicht, auch nicht mit (document.referrer == ho)
nun folgt die nächste frage an dem bekantlich freundlichen JSexperten:
"warum??"
nansen
Moin Moin !
aufgeruffen durch:
<a href="#" onClick="javascript:Gohome()">Fenster schliessen - Startseite</a>
funktioniert nicht
Darf/Kann auch nicht funktionieren ...
aber
aufgeruffen durch:
<a href="index.htm" onClick="javascript:Gohome()">Fenster schliessen - Startseite</a>
funktioniert sogar mit NS4.5.
... und hier ist es das ganz normale HTML, das funktioniert.
Lies bitte mal nach, was onclick als Wert bekommt: Javascript-Code, keine URL! Sprich: das "javascript:" muß aus dem onclick raus. Wenn Du dann noch hinter Gohome() ein Semikolon und "return false" setzt, landen Javascript-fähige Browser in der Gohome()-Funktion, der rest folgt schlicht dem href="index.htm" zur index.htm.
Alexander
hi Alexander!
Lies bitte mal nach, was onclick als Wert bekommt: Javascript-Code, keine URL! Sprich: das "javascript:" muß aus dem onclick raus. Wenn Du dann noch hinter Gohome() ein Semikolon und "return false" setzt, landen Javascript-fähige Browser in der Gohome()-Funktion, der rest folgt schlicht dem href="index.htm" zur index.htm.
cool! danke fur die freundliche erklärung!
wieder was dazugelernt.
grüsse
nansen
n'Abend.
if(opener.location.href = ho)
"warum funktioniert dieser script nicht?"
Weil "=" kein Vergleichsoperator ist, "==" hingegen schon.
Gruß
Norbert
Hi,
hier eine funktion die ein popup schliessen soll, falls es von der index aufgerufen wurde,
oder zur index gehen soll falls nicht:function Gohome(){
var ho = "index.htm";
if(opener.location.href = ho)
1. Du willst vergleichen, nicht zuweisen
2. Du willst nicht auf Identität mit "index.htm" vergleichen. Laß Dir mal per alert(opener.location.href) ausgeben, womit Du vergleichen solltest...
cu,
Andreas