Sebastian: close() ohne Sicherheitsabfrage?

Hallo zusammen,

ich verstehe das Verhalten vom Internet Explorer bei dem Befehl self.close() nicht.
Ich möchte lokal(!) per Windows Explorer eine html-Datei im IE öffnen, diese Datei enthält in JS den Befehl, ein anderes Fenster (mit bestimmten Parametern) zu öffnen (open())und anschließend sich selbst mit self.close() zu schließen. An dieser Stelle fragt der IE dann jedoch, ob das Fenster tatsächlich geschlossen werden soll.
SelfHTML schreibt dazu bei close(), das dieses Verhalten auftritt, sobald im IE-Fenster eine History existiert, also mehr als eine Seite angezeigt wurde. Dies ist aber bei mir nicht der Fall, da die Datei mit dem JS-Code beim Öffnen in ein neues IE-Fenster geladen wird und somit doch keine History vorhanden ist?!
Wieso kommt also hier trotzdem die Abfrage?
Wenn ich diese Datei mit <a href="" target="_blank"> aus einer anderen Datei aufrufe, kommt die Abfrage übrigens erwartungsgemäß nicht.
Und noch eine Frage: Das beschriebene Konstrukt benutze ich, da ich eine html-Datei im IE anzeigen möchte, wobei jedoch Statuszeile und Buttonleiste etc. ausgeblendet sein sollen. Geht dies nur mit open() oder kann man auch ein schon existierendes Fenster nachträglich verändern? Wenn ja, wie? Damit würde sich dann das oben beschriebene Problem von alleine lösen ;)

Liebe Grüße
Sebastian Albers

  1. hi,

    Ich möchte lokal(!) per Windows Explorer eine html-Datei im IE öffnen, diese Datei enthält in JS den Befehl, ein anderes Fenster (mit bestimmten Parametern) zu öffnen (open())und anschließend sich selbst mit self.close() zu schließen. An dieser Stelle fragt der IE dann jedoch, ob das Fenster tatsächlich geschlossen werden soll.
    SelfHTML schreibt dazu bei close(), das dieses Verhalten auftritt, sobald im IE-Fenster eine History existiert, also mehr als eine Seite angezeigt wurde. Dies ist aber bei mir nicht der Fall, da die Datei mit dem JS-Code beim Öffnen in ein neues IE-Fenster geladen wird und somit doch keine History vorhanden ist?!
    Wieso kommt also hier trotzdem die Abfrage?

    weil eine history nicht der einzige grund für diese abfrage ist.

    das ursprüngliche fenster wurde vom benutzer selber geöffnet, erst das popup wurde vom seitenersteller geöffnet. damit liesse sich das popup, sofern es noch keine history hat, ohne nachfrage schliessen - das ursprüngliche fenster jedoch nicht.
    das benutzer und seitenersteller in diesem falle ausnahmesweise identisch sind und beide das selbe wollen, ist hier irrelevant.

    Und noch eine Frage: Das beschriebene Konstrukt benutze ich, da ich eine html-Datei im IE anzeigen möchte, wobei jedoch Statuszeile und Buttonleiste etc. ausgeblendet sein sollen. Geht dies nur mit open() oder kann man auch ein schon existierendes Fenster nachträglich verändern?

    nein.

    Damit würde sich dann das oben beschriebene Problem von alleine lösen ;)

    löse es, in dem du im archiv nach einem workaround suchst.

    gruß,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
    1. Hallo,

      Damit würde sich dann das oben beschriebene Problem von alleine lösen ;)

      löse es, in dem du im archiv nach einem workaround suchst.

      da habe ich leider nichts passendes gefunden, nur ein Beitrag der das Problem für ältere Netscape-Versionen lößt. Funktioniert leider nicht mit IE.
      Inzwischen ist mein Problem aber gelößt, Hintergrund war, daß ich mit parent.frames[x].location.href zwei Fenster in einem Frame gleichzeit änderte und die Back-Taste des Browsers dann nicht mehr wie gewünscht funktionierte. Inzwischen nutze ich jetzt parent.frames[x].location.replace und damit sind die Probleme gelößt.

      Danke trotzdem für deine Antwort.

      Liebe Grüße,
      Sebastian