window.close, störender alert
Susi
- javascript
Hallo zusammen,
ich habe auf meiner Seite einen window.close() eingebaut. Er funktioniert auch prima, allerdings erscheint im IE( bei den anderen weiss ich nicht) ein alert mit "Die angezeigt Webseite versucht das Fenster zu schliessen, soll es geschlossen werden?"
Das stört ziemlich, kann man das unterdrücken?
Susi
Hi!
Ich habe den Code dazu schon X-mal (vielleicht auch weniger, aber jedenfalls schon mehrmals:) ) hier gepostet und dieser sollte daher im Archiv auffindbar sein!
Grüße, Bürgle
Du hast recht. Warhscheinlich die meistgestellteste Frage.
Aber Du hast vergessen, wie in den anderen Threads zu diesem Thema, daraufhin zuweisen, dass man das nicht tun soll!!!! Ich übernehm das mal: Liebe Susi, lass Deine Anwender selbst entscheiden, ob sie ein Fenster schliessen oder nicht!
Hi!
Ich habe den Code dazu schon X-mal (vielleicht auch weniger, aber jedenfalls schon mehrmals:) ) hier gepostet und dieser sollte daher im Archiv auffindbar sein!
Grüße, Bürgle
Du hast recht. Warhscheinlich die meistgestellteste Frage.
Aber Du hast vergessen, wie in den anderen Threads zu diesem Thema, daraufhin zuweisen, dass man das nicht tun soll!!!! Ich übernehm das mal: Liebe Susi, lass Deine Anwender selbst entscheiden, ob sie ein Fenster schliessen oder nicht!
Hi!
Auch Dein Hinweis sollte im Archiv bereits an vielen Stellen zu finden sein.
Du hast wohl meine Releaseversion für Fensterschließer noch nicht gesehen: (Bitte vorher neues Fenster öffnen) http://www.buergle.de/demo.htm :))
Grüße, Bürgle
http://www.buergle.de
Hallo,
jetzt muss ich mich auch mal rechtfertigen:
1.sorry, ich war wohl etwas vorschnell mit meiner Frage, kommt nicht wieder vor
2.das zu schliessende Fenster ist leer, nur eine Art "scriptcontainer", damit das zu öffnende Fenster keine Adresszeile hat, ich denke dann ist es schon legitim.
so, nochmals sorry
MfG
Susi
2.das zu schliessende Fenster ist leer, nur eine Art "scriptcontainer", damit das zu öffnende Fenster keine Adresszeile hat, ich denke dann ist es schon legitim.
Ob deine Seite leer ist oder nicht, damit hat diese Sicherheitsabfrage nichts zu tun. sondern es geht um die Seiten die der User vor deinen Seiten angesurft hat, vielleicht möchte er ja noch mal dorthin zurück. Und wenn du dieses Fenster schliesst ist die History auch weg.
Struppi.
Du hast recht. Warhscheinlich die meistgestellteste Frage.
Du hast wohl meine Releaseversion für Fensterschließer noch nicht gesehen: (Bitte vorher neues Fenster öffnen) http://www.buergle.de/demo.htm :))
function wenns_unbedingt_sein_muss()
»» {
alert("Sorry,\nich erlaub mir einfach mal, dieses Fenster ohne Frage zu schliessen,\nob Sie wollen oder nicht. Für mich ist das wichtig!\nVerstehen Sie mich? Es hat mir zwar jeder geraten, das zu lassen, aber ich tu es jetzt trotzdem.\nStört Sie das Fenster nicht auch? Seien Sie ehrlich! Klicken Sie einfach auf OK (Sie habe ja sowieso keine andere Wahl) und wenn Ihnen das nicht passt, dann kommen Sie bitte nie mehr auf meine Homepage! Am liebsten würde ich ja alle Ihre Fenster und Programme schließen, aber ich weiß nicht, wie das geht.\nWarum surfen Sie überhaupt hier her?\n\n\nBleiben Sie doch, wo der Pfeffer wächst!\n");
window.opener = window.self;
window.close();
}
Sorry Bürgle, aber das Script kann gar nicht funktionieren, weil zu Zuweisung der hier globalen Variablen unbenutzt bleibt.
So, wenn de jetzt weisst, was gemeint ist und die Variable auch benutzt wird, dann geht's.
CU
Sorry Bürgle, aber das Script kann gar nicht funktionieren, weil zu Zuweisung der hier globalen Variablen unbenutzt bleibt.
So, wenn de jetzt weisst, was gemeint ist und die Variable auch benutzt wird, dann geht's.
Hi!
Wenn Du einen deutschen Satz schreibst, weiss ich es vielleicht, denn: "weil zu Zuweisung der hier globalen Variablen unbenutzt bleibt" verstehe ich in der Tat nicht.
Abgesehen davon funktioniert das Script, zumindest bei mir mit IE6, NS7 und Opera6.
Grüße, Bürgle
http://www.buergle.de
Wenn Du einen deutschen Satz schreibst, weiss ich es vielleicht, denn: "weil zu Zuweisung der hier globalen Variablen unbenutzt bleibt" verstehe ich in der Tat nicht.
Abgesehen davon funktioniert das Script, zumindest bei mir mit IE6, NS7 und Opera6.
Wenn du schreibst
a = b;
kannst du nachher nicht schreiben:
b.close(); wenn b gar nicht definiert ist.
Ist halt Münz-Schule hier. Da haben die Meisten nicht die geringste Ahnung von den Grundlagen. D.h. das Münz-Forum dient in vielen Fällen nur der Selbst-Profilierung einzelner, auch ohne was zu wissen.
Anoni
Wenn du schreibst
a = b;
kannst du nachher nicht schreiben:
b.close(); wenn b gar nicht definiert ist.
Ist halt Münz-Schule hier. Da haben die Meisten nicht die geringste Ahnung von den Grundlagen. D.h. das Münz-Forum dient in vielen Fällen nur der Selbst-Profilierung einzelner, auch ohne was zu wissen.
Hi!
Was machst Du dann hier? Hast Du dich verirrt? Oder fehlen dir die Grundlagen? Oder willst Du Dich Selbst-Profilieren?
Erklär mir mal bitte, was mein Script mit Deinem Beispiel zu tun hat.
Ich kapiere den Zusammenhang nicht. Es fehlen mir wohl die notwendigen Grundlagen!
Grüße, Bürgle
Hi!
Was machst Du dann hier? Hast Du dich verirrt? Oder fehlen dir die Grundlagen? Oder willst Du Dich Selbst-Profilieren?Erklär mir mal bitte, was mein Script mit Deinem Beispiel zu tun hat.
Ich kapiere den Zusammenhang nicht. Es fehlen mir wohl die notwendigen Grundlagen!
Du bist aber auch noch begriffsstutzig.
Schreibs halt, wie es sich gehört:
window.opener = window.self;
opener.close();
Und nicht ein einziger Browser wird mehr nachfragen, ob er das Fenster schließen so
Hi!
Ich würde mich über eine Erklärung freuen, warum meine Variante ebenfalls funktioniert.
Grüße, Bürgle
Hi!
Ich würde mich über eine Erklärung freuen, warum meine Variante ebenfalls funktioniert.
Kommentier die Variable mal aus, dann wirst du's sehen - dass sie eben nur eingeschränkt funktioniert.
Hi! (Ich ignoriere mal deine unterschiedliche Namen, gehe davon aus, dass Du ein und der Selbe bist, wenn nicht, sorry:) )
Ich würde mich über eine Erklärung freuen, warum meine Variante ebenfalls funktioniert.
Kommentier die Variable mal aus, dann wirst du's sehen - dass sie eben nur eingeschränkt funktioniert.
Anscheinend fehlt es Dir an Erklärungskunst (oder an hintergrundwissen?), denn mit Deinen Sätzen ist wenig anzufangen.
Welche Variable?
Wenn du schreibst
a = b;
kannst du nachher nicht schreiben:
b.close(); wenn b gar nicht definiert ist.
Dein "b" ist in meinem Beispiel "window". Seit wann ist window nicht definiert??
Kannst Du Objekte und deren Eigenschaften/Funktionen nicht unterscheiden?
window.opener = window.self; //der Zeiger auf das Elternfenster(der vor der Zuweisung auf "nichts" zeigte, (also undefiniert war) wird auf das aktuelle Fenster selbst gesetzt.
Das aktuelle Fenster hat nun ein Elternfenster, sprich es hat den Status, als ob es geöffnet worden wäre von seinem Elternfenster, was ein zumachen durch
window.close();
erlaubt.
Was ist da falsch?
Ich lasse mich gern von jemand belehren, sogar sehr gerne, wenn derjenige auch noch Hintergrundwissen hat, da mir das ja anscheinend fehlt.
Grüße, Bürgle ;)
Was ist da falsch?
Ich lasse mich gern von jemand belehren, sogar sehr gerne, wenn derjenige auch noch Hintergrundwissen hat, da mir das ja anscheinend fehlt.
Also du kapierst anscheinend sehr schlecht.
Dein ursprüngl Beispiel war etwa so:
window.opener = window.self;
window.self.close();
Frage: Welche Rolle spielt in dem Beispiel die Variable?
(Die Variable ist das, was links steht, also window.opener, oder einfach opener)
Antwort: Die Variable spielt im Beispiel gar keine Rolle, nix, gar nix, hat keine Bedeutung, weil sie nicht benutzt wird. Was ich schon von Anfang an sagte. Du kannst sie einfach weglassen. Und was bleibt übrig?
Richtig: window.self.close() oder einfach self.close()
Nun reagieren alle Browser - bis auf auf IE - auf self.close() in der Regel ohne Nachfrage, ob das Fenster geschlossen werden soll. Folglich geht's in der Hauptsache um den Gängel-IE.
Also benötigt man einen Trick, um den IE davon abzuhalten, nachzufragen, ob das Fenster geschlossen werden soll. Soweit klar?
Jetzt habe ich dir gerade nachgewiesen, dass deine Lösung nix taugt, weil die Variable nutzlos ist. Deshalb darfst du lechts und rinks nicht velchesern.
Und die Lösung ist einfachstes Javascript:
window.opener = window.self;
opener.close();
Aber jetzt funkt's doch mal? Ist doch wirklich nicht schwer verständlich...
Und dafür brauchts einen ganzen langen Thread.
Hi!
Also du kapierst anscheinend sehr schlecht.
Kommt drauf an wie was erklärt wird.
Dein ursprüngl Beispiel war etwa so:
window.opener = window.self;
window.self.close();Frage: Welche Rolle spielt in dem Beispiel die Variable?
(Die Variable ist das, was links steht, also window.opener, oder einfach opener)
Opener gehört zum Fenster und wird durch die Zuweisung geändert(hab ich schonmal gesagt).
Antwort: Die Variable spielt im Beispiel gar keine Rolle, nix, gar nix, hat keine Bedeutung, weil sie nicht benutzt wird. Was ich schon von Anfang an sagte. Du kannst sie einfach weglassen. Und was bleibt übrig?
Richtig: window.self.close() oder einfach self.close()
Falsch. Das ist nicht das selbe wie das, was mein Beispiel tut. (Teste es mal mit IE, wäre es das selbe würde auch dieser das selbe tun.)
Folglich geht's in der Hauptsache um den Gängel-IE.
Na also. Wo ist Dein Problem?
Mein Script Funktioniert nunmal, zumindest im IE.
(Darf ich Dich an Deine Aussage zu Beginn erinnern:"Sorry Bürgle, aber das Script kann gar nicht funktionieren")
Also benötigt man einen Trick, um den IE davon abzuhalten, nachzufragen, ob das Fenster geschlossen werden soll. Soweit klar?
Ja, und dazu ist meine Lösung genauso geeignet wie Deine.
Jetzt habe ich dir gerade nachgewiesen, dass deine Lösung nix taugt, weil die Variable nutzlos ist.
Nachgewiesen? Seit wann ist "Die Variable spielt im Beispiel gar keine Rolle, nix, gar nix, hat keine Bedeutung, weil sie nicht benutzt wird." ein Nachweis?
Sie gehört nach wie vor zu dem Fenster, ist aber nun manipuliert. Oder etwa nicht?
(Erklärung siehe mein letztes Posting)
Deshalb darfst du lechts und rinks nicht velchesern.
;)
Und die Lösung ist einfachstes Javascript:
window.opener = window.self;
opener.close();
Hab auch nie behauptet, dass Deine oder meine Lösung schweres Javascript ist.
Aber jetzt funkt's doch mal? Ist doch wirklich nicht schwer verständlich...
Und dafür brauchts einen ganzen langen Thread.
Zwar hast Du es immer noch nicht geschafft, mir zu erklären, warum mein Script trotz Deiner Behauptung, es könne nicht funktionieren eben doch funktioniert...aber weist was:
Ich werds im Script ändern, Du hast recht und ich mei' Ruh'!
:)
Grüße, Bürgle
Ich werds im Script ändern, Du hast recht und ich mei' Ruh'!
:)
Du, mir ist das Piepe, ob du das änderst oder nicht.
du kannst auch folgendes schreiben:
window.opener="Ich heisse Halifax";
window.close();
Das vollbringt dasselbe, wie deins.
CU
du kannst auch folgendes schreiben:
window.opener="Ich heisse Halifax";
window.close();
Hi!
Warum nicht, der einzige Unterschied ist der, dass es das Fenster
"Ich heisse Halifax" eben nicht wirklich gibt, Deine Zuweisung führt daher ins Leere, doch das sollte hier keine Rolle spielen.
Aber das weisst Du selbst ja auch.
Grüße, Bürgle
Du bist ja lustig!
Ein Einzelner macht Deiner Meinung nach einen Fehler.
Also wirfst Du gleich alle in einen Eimer als profilneurotische Nichtskönner. Stefan Münz und alle anderen Forumsmitglieder gleich mit!
Da solltest Du Dich doch auch mal fragen, ob a = b ist.
Wenn du schreibst
a = b;
kannst du nachher nicht schreiben:
b.close(); wenn b gar nicht definiert ist.
Ist halt Münz-Schule hier. Da haben die Meisten nicht die geringste Ahnung von den Grundlagen. D.h. das Münz-Forum dient in vielen Fällen nur der Selbst-Profilierung einzelner, auch ohne was zu wissen.
Du bist ja lustig!
Ein Einzelner macht Deiner Meinung nach einen Fehler.
Also wirfst Du gleich alle in einen Eimer als profilneurotische Nichtskönner. Stefan Münz und alle anderen Forumsmitglieder gleich mit!
Da solltest Du Dich doch auch mal fragen, ob a = b ist.
Hmm...ich denke er sollte sich überlegen, ob er nicht lieber mein obiges Script aufruft, OHNE vorher ein neues Fenster zu öffnen ;)
Grüße, Bürgle