Mit window.close() ein ganzes Frameset schliessen?
Philipp
- javascript
0 Orlando
Hi!
Ich habe eine Seite, welche mit einer Verzögerung von 0 Sekunden (also garkeiner *g*) auf eine neue Seite weiterleitet, und diese im kompletten Fullscreen-Modus aufruft. Das habe ich so gemacht:
<script language="javascript">
var hohe=screen.height;
var breite=screen.width;
function fullWindow()
{
fullWin=window.open('meineseite.htm', 'fullWin', 'scrollbars=no, menubar=no, toolbar=no, status=no, resizable=no, height=hohe, width=breite, fullscreen=yes');
fullWin.moveTo(0,0);
fullWin.resizeTo(breite,hohe);
window.close();
}
</script>
Und es klappt auch prima. Das Problem ist nur, dass dieser Code jedesmal die Seite "meineseite.htm" in einem komplett neuen Browserfenster öffnet. Man muss dann immer die Verweisseite (die index.htm) von Hand schliessen. Wie lautet denn der Code anstelle von "window.open", der die neue Seite direkt im gleichen, also dem index-Fenster lädt?
Mein anderes Problem ist folgendes: die Seite, die durch diese index.htm fullscreen geöffnet wird, ist ein aus 3 Frames bestehendes Frameset (main.htm). Der einzige Frame, der über alle Seiten sichtbar ist, ist jedoch nur mein Menü-Frame (menu.htm). In diesem Frame hab ich jetzt folgenden Code drin, der mir das KOMPLETTE Frameset (nach der nervigen Abfrage) schliessen soll, sobald auf das Button geklickt wird:
<form action="">
<input type="button" value=" Exit " onClick="window.close()">
</form>
Meine Frage ist jetzt, ob es für "close()" irgend eine Möglichkeit gibt, anstelle des aktuellen Fensters (window.), ein anderes Fenster zu schliessen, welches gerade offen ist? Ich möchte einfach dass dieses Button anstelle des Fensters "menu.htm", das gesamte Frameset (main.htm) schliesst. So wie es jetzt ist, funktioniert das Button nur, wenn ich die Seite menu.htm einzeln aufrufe und drauf drücke. Nicht jedoch im Frameset - da passiert beim Drücken des Buttons rein garnix. Gibts hierfür überhaupt ne Möglichkeit? Oder muss ich das ganz anders angehen?
Bin für jeden Tip dankbar!
Gruß,
Philipp
Hi, Philipp
Ich habe eine Seite, welche mit einer Verzögerung von 0 Sekunden (also garkeiner *g*) auf eine neue Seite weiterleitet, und diese im kompletten Fullscreen-Modus aufruft.
Gut, wenn Javascript aktiviert und der Popup-Killer deaktiviert ist. Nur so als Angregung. Es ist empfehlenswert, einen normalen Link auf das Frameset im <noscript> zu setzen.
(PopUp)
Und es klappt auch prima. Das Problem ist nur, dass dieser Code jedesmal die Seite "meineseite.htm" in einem komplett neuen Browserfenster öffnet. Man muss dann immer die Verweisseite (die index.htm) von Hand schliessen. Wie lautet denn der Code anstelle von "window.open", der die neue Seite direkt im gleichen, also dem index-Fenster lädt?
Du kannst einem Fenster die Bedienungselemente nicht nachträglich wegnehmen. Soll heißen, du sollst das nicht nur nicht machen, du kannst es tatsächlich nicht. Ausschließlich neue Fenster lassen sich anpassen.
Mein anderes Problem ist folgendes: die Seite, die durch diese index.htm fullscreen geöffnet wird, ist ein aus 3 Frames bestehendes Frameset (main.htm). Der einzige Frame, der über alle Seiten sichtbar ist, ist jedoch nur mein Menü-Frame (menu.htm). In diesem Frame hab ich jetzt folgenden Code drin, der mir das KOMPLETTE Frameset (nach der nervigen Abfrage)
...die du nicht umgehen kannst, weil der Browser dann doch die History behalten will. Das ist eine sinnvolle Sicherheitsabfrage.
schliessen soll, sobald auf das Button geklickt wird:
<form action="">
<input type="button" value=" Exit " onClick="window.close()">
</form>
Meine Frage ist jetzt, ob es für "close()" irgend eine Möglichkeit gibt, anstelle des aktuellen Fensters (window.), ein anderes Fenster zu schliessen, welches gerade offen ist? Ich möchte einfach dass dieses Button anstelle des Fensters "menu.htm", das gesamte Frameset (main.htm) schliesst.
Probiere es mit top.close(); Einen Frame kannst du nicht einzeln schließen, da stürzt ja sonst das Frameset ein ;-)
LG Orlando