Frank Büchel: self.close() mal ohne und mal mit prompt

Liebe JS'ler,
nachdem ich bei opener() frustriert das handtuch geeworfen habe
Ich in meinem Script diese zwei Zeilen stehen:
  
window.open("andrstart.html")
self.close()

Bei NS4.5 läuft das einwandfrei. Bei MS5.01 wird ein prompt (Soll das
Fenster geschlossen werden? Ja/Nein. Natürlich ja, wozu schreib' ich's denn hin.

close erwartet keine Parameter (lt Selfhtml)
Gibt es vielleicht doch einen Parm, der bei MS diesen Prompt verhindert?

Ich wünsche allseits eine schöene Zeit.

Frank

  1. Hi,

    nachdem ich bei opener() frustriert das handtuch geeworfen habe

    probier's mal mit opener statt mit opener(). Das ist ein Objekt (bzw. eine Objektreferenz), keine Methode.

    self.close()

    Bei NS4.5 läuft das einwandfrei.

    Nein. Netscape verzichtet bisweilen fehlerhafterweise auf die Sicherheits(!)abfrage, ob das Fenster wirklich geschlossen und dadurch ggf. wichtige Daten final vernichtet werden sollen. Es dürfte eigentlich nur einen einzigen Fall geben, in dem keine Abfrage kommt:

    • Das Fenster wurde von Dir mittels JavaScript geöffnet
    • und seine History ist noch leer.

    Nur dann darf es ohne weiteres geschlossen werden.

    (Soll das Fenster geschlossen werden? Ja/Nein. Natürlich ja, wozu schreib' ich's denn hin.

    Ob _Du_ es schließen willst, ist absolut irrelevant. Die Frage ist, will der _Benutzer_ das Fenster schließen.

    Gibt es vielleicht doch einen Parm, der bei MS diesen Prompt verhindert?

    Nein, zum Glück nicht. Netscape ist da um Längen zu großzügig, der MSIE verhält sich hier ausnahmsweise richtig.

    Cheatah

    1. Hi Cheatah!

      Nein. Netscape verzichtet bisweilen fehlerhafterweise auf die Sicherheits(!)abfrage, ob das Fenster wirklich geschlossen und dadurch ggf. wichtige Daten final vernichtet werden sollen.

      Vielleicht hat der 4.5 da ja nen Bug, aber normalerweise fragt der Netscape da auch nach. Mit 4.03, 4.08 und 4.7 hab ich's gerade getestet.

      Wer auch testen will, moege hier dreauf druecken: <javascript:self.close();>.

      So long

      1. Hi,

        Vielleicht hat der 4.5 da ja nen Bug, aber normalerweise fragt der Netscape da auch nach. Mit 4.03, 4.08 und 4.7 hab ich's gerade getestet.

        soweit ich weiß, reagiert Netscape flashc, wenn einfach nur die History leer ist, das Fenster aber nicht von JavaScript geöffnet wurde.

        Wer auch testen will, moege hier dreauf druecken: <javascript:self.close();>.

        Vorher aber <a href="http://www.teamone.de/selfaktuell/forum/messages/83218.html" target="_blank">http://www.teamone.de/selfaktuell/forum/messages/83218.html" target="_blank</a> ;-)

        Cheatah

    2. Hi,

      nachdem ich bei opener() frustriert das Handtuch geeworfen habe

      probier's mal mit opener statt mit opener(). Das ist ein Objekt (bzw. eine Objektreferenz), keine Methode.

      Danke, "Tomaten auf den Augen", bzw. dort, wo  meine Denke sein sollte!

      self.close()
      (Soll das Fenster geschlossen werden? Ja/Nein. Natürlich ja, wozu schreib' ich's denn hin.

      Ob _Du_ es schließen willst, ist absolut irrelevant. Die Frage ist, will der _Benutzer_ das Fenster schließen.

      Da stimme ich nicht zu. Es muß dem Webdesigner (ich ziehe den altmodischen Begriff "Progammierer" vor) überlassen bleiben, welche Seiten er offen/geschlossen haben will. Er muß natürlich berücksichtigen, ob dabei Daten verloren gehen können.

      Aber so ist es und nun muß mein Benutzer eine völlig überflüssige Abfrage beantworten. :-(

      Frank

      1. Hi,

        Ob _Du_ es schließen willst, ist absolut irrelevant. Die Frage ist, will der _Benutzer_ das Fenster schließen.

        Da stimme ich nicht zu. Es muß dem Webdesigner (ich ziehe den altmodischen Begriff "Progammierer" vor) überlassen bleiben, welche Seiten er offen/geschlossen haben will. Er muß natürlich berücksichtigen, ob dabei Daten verloren gehen können.

        NACK, denn genau das kann der Webdesigner gar nicht wissen. Letztlich kann - je nach Client - wirklich absolut jedes Fenster vom Benutzer beliebig beeinflußt werden; Du weißt also nicht, wo jetzt gerade wichtige Daten sind.

        Die Abfrage ist ein _Sicherheits_konzept, kein Firlefanz.

        Cheatah

        1. Hi Frank,

          da muss ich Cheatah absolut zustimmen.

          Ich finde es echt klasse, das mir die Browserhersteller wenigstens da noch eine Chance lassen und ich
          nicht dem Werbe/Marketing geseier _restlos_  ausgeliefert bin.
          (Nö, zurück VON UNSERER SEITE ..... JA, SPINNT DENN DER, DAS DARF NICHT SEIN, DAS SPERR ICH DEM)

          Zum Vergleich:Cookies, eine absolut tolle Sache (die die minderfunktionalen und häßlichen Session ID's in
          der Browser URL unötig machen würden) , durch doubleclick.net (und ähnliche)  wertlos gemacht....

          Ich verstehe deine Seite, du kennst deine Kunden und du möchtest Ihnen die optimale
          Benutzeroberfläche bieten. Ebenso solltest du den Surfer verstehen der von Unternehmen
          EXTRAFETTUNDBREIT mal eben seinen Zurück-Button funktionsunfähig gemacht bekommt.
          Und gehe dabei nicht unbedingt von deinen Fähigkeiten >>ja dann drück ich einfach strh-h )*<< aus,
          sondern von z.b. den von deinem Vater dem du "Computer mit Internet" vorletztes Jahr untern
          Tannebaum gelegt hast.

          Gruss,
          Carsten

          )* History in NN