Fenster nur einmal Öffnen?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aufruf
beispiel
beitrag
einzigartiges fenster
fenster
funktion
gedacht
klicken
login
normale fenster
sache
status
target
verstehe
weiteres fenster
-
Hallo...
Kommen wir gleich zur Sache:
Ich habe das Problem, das ich eine Seite habe, bei der man nach dem Login auf eine Seiet kommt. (Durch Linkklick). Das Fenster wird per JS (JavaScript) ge?ffnet und hat besondere Attibute (Bestimmte gr??e, keine Status- und Adressleiste). Allerdings sollte es nur ein Fenster gleichzeitig davon haben....>_<
Meine Frage ist jetzt nat?rlich: Wie kann ich das realisieren?
Ich habe schon drei Tage googlen hinter mir und nur unzureichende ?glichkeiten gefunden, die f?r mich nicht realisierbar waren.
Wer ne Idee?
PS: Falls es mit JavaScript m?glich sein soltel bin ich gewillt auch das zu benutzen.
Danke im Voraus! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du schreibst in den Header:
<script type="text/javascript">
function fenster(seite,name,eigenschaften)
{
popup = window.open(seite,name,eigenschaften);
helpwindow.focus();
return false;
}
</script>
Das ist deine Fenster-?ffnen-Funktion.
Dann schreibst Du in den Link:
<a href="datei.html" target="_blank" onclick="return fenster('datei.html','fenster1','width=200, height=300');">
Linktext
</a>
Wenn JavaScript aktiviert ist, wird das onclick-Event ausgef?hrt, wenn nicht, die normale Verlinkung immer in einem neuen Fenster durch target=_blank. Wenn Du bei name immer das gleiche eingibst, wird alles im selben Fenster ge?ffnet. Eigenschaften sind normale Fenster-Eigenschaften aus JavaScript wie toolbar, scrollbar, top, left usw. da wirst Du sicher zu im Net f?ndig werden. -
Ja, da shabe ich ja schon. ;)
Ich m?chte nur, das ein solches Fenster nur einmal offen sein kann. Zum beispiel ?ffne ich jetzt das Fesnter. (Sprich: Ich logge mich ein)
Jetzt ?ffne ich die URL eifnach noch ein weietres mal. Was passiert? Nat?rlich kann man die Seite ein weietres mal aufrufen. Das m?chte ich verhindern.
Danke im Vroaus.... ich find nichts. -
Ich verstehe Dein Problem nicht ganz.
So habe ich das verstanden:
Du m?chtest per Klick auf einen Link ein Fenster ?ffnen, in dem eine Seite geladen wird. Wenn man dann das Fenster nicht schlie?t und noch einmal auf den gleichen Link klickt, soll sich KEIN weiteres Fenster ?ffnen. Wenn man auf einen anderen Link klickt, wird die Seite in dem SELBEN Fenster geladen wie die vorige Seite, sprich, dem zuvor ge?ffneten Fenster. Richtig?
Das ist doch realisierbar, indem Du bei 'name' der JS-Funktion 'fenster()' immer den gleichen Namen ?bergibst. Dann wird alles in dem einen ge?ffneten Fenster mit eben diesem Namen geladen. Sollte kein ge?ffnetes Fenster mit diesem Namen existieren, wird eines ge?ffnet. -
Ja, kein problem, aber du musst auch beachten, dass man einfach die Linkadresse nehmen kann und manuell ?ffnen kann. Und, was mach ich DAGEGEN?..>-<
-
ach so.
Das k?nntest Du beispielsweise (ganz bl?d, aber...) per Session/Cookie machen. Beim ersten ?ffnen pr?fst Du, ob eine Session-Variable besteht. Wenn nicht, wird die Seite ge?ffnet und eine Session-Variable geschrieben. Wenn schon eine existiert, kommt ne Fehlermeldung oder das Fenster wird wieder geschlossen. -
*lach* Das ist aber Schwachsinn! Dann kann ich ja keinen link klicken ohne da smir gleich das Fenster futschi geht. o.O
Nene, so wird das nichts.... -
warum soll das nicht klappen?
Du hast das Problem ja nur bei einer Seite (wie ich das verstanden habe), der Login-Seite, die on einem Popupfenster geladen wird, oder?
Also, dann kannst Du doch eine Variable bspw. $_SESSION['login'] setzen. Beim ersten ?ffnen der Loginseite setzt Du die Variable 1. Beim Logout setzt Du die Variable wieder 0. Dann pr?fst Du, ob die Variable 1 ist. Wenn nein: Popup wird geladen; wenn ja: Popup wird wieder geschlossen.
Du musst das System ja nicht bei jeder Seite anwenden, sondern nur der Login-Seite und wenn Du mehrere Seiten sch?tzen willst, dann benutzt Du eben unterschiedliche Variablen, wie $_SESSION['profil'] oder $_SESSION['personal_menu'] oder so.
Ich w?rde es an Deiner Stelle auf jeden Fall mal versuchen, bevor ich anfange, zu meckern. Soll ich Dir zum Beweis, dass das funktioniert, ein Script schreiben? -
Viel zu kompliziert !
<a href="Unbenannt 2.html" target="einzigartig">einzigartiges Fenster</a>
<script type="text/javascript"> if(window.name!="einzigartig")window.location.href="javascript:document.write('Hier gibt es nix zu sehen')"; </script> <html> <head> <meta name="generator" content="HTML Studio" /> <title> </title> </head> <body> Seite ist einzigartig ! </body> </html>
Wir machen uns einfach zunutze, dass man Fenster einen Namen geben kann. Das Fenster selber ?berpr?ft dann, ob es den richtigen Namen vergeben bekommen hat und handelt entsprechend. -
@Bladehunter:
Das werde ich mal testen! Danke schonmal!
@ku-shi: du verstehstes net.. XD
Das LOGIn ?ffnet ein Popup ;) -
Okay, ich habe gedacht, das Login ist in einem Popup. Ist mir gleich. Ich wollte nur helfen.
Freut mich aber, dass Dir noch geholfen wurde. Einer hat?s zumindest verstanden ;O)
Viel zu kompliziert !
Ja, leider denke ich immer so. Ich mag es verspielt ;O)
Beitrag ge?ndert am 29.04.2006 14:41 von ku-shi -
:P
Danke, funktioniert!^_^
(Auch wenn amn es leicht faken kann, aber dazu ahb ich auch schon einen plan. ;) ) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage