Utz: Abfrage, ob autom. PopUps in Mozilla ausgeschaltet sind

Hallo zusammen,

gibt's ne Möglichkeit abzufragen, ob im Mozilla automatische PopUps abgeschaltet sind? Hintergrund: Ich bastle gerade mit dem Joust Outliner herum, der die Option "Floating Menu" anbietet. Das geht aber im Mozilla nur, wenn autom. PopUps erlaubt sind. Daher würde ich diese Option gerne "verstecken", wenn sie gar nicht gehen kann - und dazu müsste ich herausfinden, ob sie abgeschaltet sind oder nicht.

Grüße,

Utz

  1. Moin Moin !

    http://www.w3.org/Consortium/Points/
    http://www.anybrowser.org/campaign/
    http://www.opera.com/
    http://lynx.browser.org/
    http://www.kde.org/

    Schreib halt drunter, daß Deine Seite nur mit einem Browser funktioniert, und daß es Dir egal ist, wenn nicht jeder Deine Seite sehen kann.

    Oder kurz: "Optimized for my browser."

    Alexander

    1. Hallo Alexander,

      bitte lies doch meine Frage hinreichend gründlich, bevor Du Flames loslässt, ok?

      Grüße,

      Utz

  2. Hallo,

    gibt's ne Möglichkeit abzufragen, ob im Mozilla automatische PopUps abgeschaltet sind?

    Ich wüßte nicht, aber hätte zwei Alternativvorschläge:
    1.Mache es doch nicht als automatischen PopUp sondern ein PopUp welches per Klick aktiviert wird. Ist auch angenehmer für den Benutzer (man bringt damit auch die "Mein Browser gehört mir"-Leute zum schweigen).
    2.Mache es über DHTML nicht in einem extra Fenster sondern als Bereich auf Deiner Webseite (kann man ja auch verschiebbar gestalten usw. so das es sich wie ein PopUp innerhalb der Webseite verhält)

    Gruss
       MichaelB

    1. Hallo Michael,

      danke für die Vorschläge - sie würden allerdings beide nach sich ziehen, dass ich den Joust Outliner weitgehend umschreiben müsste. Und ich hab ja deshalb auf ein bestehendes Script zurückgegriffen, weil wenig Zeit zur Verfügung steht.

      Natürlich bleibt mir immer noch die Möglichkeit, diese "Floating"-Option für alle Mozillas zu verstecken, aber das wär ja schon ein bisschen schade - wer nix gegen automatische PopUps einzuwenden hat, soll diese Option ja auch ruhig nutzen können.

      Grüße,

      Utz

  3. Hallo Utz,

    Rufe open() auf, und überprüfe dann, ob das wirklich funktioniert hat.

    Grüße

    Daniel

    1. Hallo Daniel,

      Rufe open() auf, und überprüfe dann, ob das wirklich funktioniert hat.

      Ich will ja nicht post hoc überprüfen, ob es geklappt hat, sondern schon im Vorfeld wissen, ob es klappen _würde_ und falls nein den Link gar nicht erst hinschreiben. Das Objekt window.open existiert im Mozilla auch dann, wenn autom. PopUps ausgeschaltet sind (muss ja - wird ja bei "manuellen" PopUps benutzt), sodass mir eine Überprüfung auf dessen Existenz auch nichts bringt.

      Trotzdem danke fürs Gedankenmachen und Grüße,

      Utz

      1. Hi Utz,

        Rufe open() auf, und überprüfe dann, ob das wirklich funktioniert hat.

        das ist eine gute Idee und wohl die einzige, die funktionieren könnte. Öffne ein neues Fenster und frage danach ab, ob dieses existiert. Eine andere Möglichkeite sehe ich nicht.

        LG Roland

        1. Hi Roland,

          Rufe open() auf, und überprüfe dann, ob das wirklich funktioniert hat.

          das ist eine gute Idee und wohl die einzige, die funktionieren könnte. Öffne ein neues Fenster und frage danach ab, ob dieses existiert. Eine andere Möglichkeite sehe ich nicht.

          Vielleicht steh ich ja auch einfach nur auf dem Schlauch - aber das hieße ja, dass ich noch bevor ein document.write den Link, um den es wirklich geht, schreiben könnte, ein sinnloses leeres Fenster aufmachen müsste, überprüfen müsste, ob es existierte, und es dann wieder schließen müsste. Bzw. erst mal eine Dummy-Seite mit "sinnlosem" window.open haben müsste, die dann je nach Ergebnis die eigentliche Seite mit passendem Parameter aufrufen würde. Bei der ersten Variante würde ich heftige Reihenfolgeprobleme befürchten, und bei beiden Varianten würde ein kleines Fenster kurz auf- und wiederzugehen. Das ist nicht nur unhübsch, da würden wohl viele Leute befürchten, dass mit diesem Fensterchen irgendwelcher Unfug gemacht wird. Wenn Ihr da irgend was anderes im Sinn habt das ich übersehe - schubst mich doch bitte in die richtige Richtung :-)

          Grüße,

          Utz

          1. Hi Utz,

            Vielleicht steh ich ja auch einfach nur auf dem Schlauch

            so könnte man das fast umschreiben *g*

            aber das hieße ja, dass ich noch bevor ein document.write den Link, um den es wirklich geht, schreiben könnte, ein sinnloses leeres Fenster aufmachen müsste, überprüfen müsste, ob es existierte, und es dann wieder schließen müsste.

            Korrekt, ja. Anders kannst du nicht prüfen, ob das PopUp geöffnet oder unterdrückt wurde. Allerdings zäumst du das Pferd IMHO von hinten auf. Mein Vorschlag: Baue in den EventHandler, der das Popup öffnet zusätzlich mit setTimeout eine Abfrage ein, die nach ein, zwei Sekunden die Existenz des neuen Fensters prüft. Wurde es nicht geöffnet, kannst du ja anschließend mit einem alert() darauf hinweisen, dass der gewünschte Modus aufgrund einer PopUp-Sperre nicht aufgerufen werden kann. Wer PopUps unterdrückt weiß in der Regel auch, was er tut und wie er diesen Umstand ändern kann.

            schubst mich doch bitte in die richtige Richtung :-)

            *gnnnnnn* ;)

            LG Roland

            1. Hi Roland,

              Mein Vorschlag: Baue in den EventHandler, der das Popup öffnet zusätzlich mit setTimeout eine Abfrage ein, die nach ein, zwei Sekunden die Existenz des neuen Fensters prüft.

              *seufz* Wenn es denn so einfach wäre...das Teil führt zwei Aktionen aus: das Öffnen des PopUps und ein location.href auf den Opener. Wenn das PopUp aber nicht geöffnet werden kann, erscheint im Opener eine adrette komplett leere Seite. Klar könnte ich daraufhin ein Alert-Fenster aufmachen - da müsste dann sinngemäß drinstehen: "Herzlichen Glückwunsch! Sie verwenden denselben Browser mit denselben  Einstellungen wie ich. Trotzdem verarsche ich Sie jetzt. Klicken Sie bitte auf zurück, dann kriegen Sie zwar die versprochene Option nicht, aber Sie sehen wenigstens etwas."

              Mittlerweile glaube ich, dass die einzig sinnvolle Lösung die wäre, den Joust Outliner als Standard-Navi zu kippen und nur den Floating Mode beizubehalten - dann aber mit einem direkten window.open()-Link. Das hätte den Vorteil, dass das bereits fertige Layout mit der bereits fertigen - zwar besseren, aber abgelehnten - Navi beibehalten werden könnte und der Joust Outliner tatsächlich nur als Add-On in nem sepraten Fenster dazugeladen werden kann. Mal sehen, ob ich damit durchkomme :-)

              Grüße,

              Utz

          2. gruss Utz,

            ... und bei beiden Varianten würde ein kleines Fenster kurz
            auf- und wiederzugehen.

            damit musst Du leben;

            Das ist nicht nur unhübsch, da würden wohl viele Leute
            befürchten, dass mit diesem Fensterchen irgendwelcher Unfug
            gemacht wird.

            diese einstellung ehrt Dich;

            Wenn Ihr da irgend was anderes im Sinn habt das ich übersehe -
            schubst mich doch bitte in die richtige Richtung :-)

            hier kommt ein grosser tritt:

            <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
            <html>

            <head>
             <meta http-equiv="content-style-type" content="text/css" />
             <meta http-equiv="content-script-type" content="text/javascript" />
             <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
             <title>popupCheckForFloatingMenu.html</title>
             <script type="text/javascript" language="JavaScript">
             <!--
              var popUpsEnanbled = false;

            var checkWin = new Object();checkWin.closed = true;

            function popupCheck() {
               var popupCode = ''+
                '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\n'+
                '<html>\n\n'+
                '<head>\n'+
                ' <meta http-equiv="content-script-type" content="text/javascript" />\n'+
                ' <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />\n'+
                ' <title>popupCheck</title>\n'+
                '</head>\n\n'+
                '<body onload="if(window.opener){opener.closeCheck();}window.close();" bgcolor="#efefef">\n'+
                '</body>\n\n'+
                '</html>';
               if (checkWin.closed) {
                checkWin = window.open("","","width=10,height=10,left=0,top=0");
               }
               checkWin.document.open("text/html","replace");
              // checkWin.moveBy(-120,-120);
               window.focus();
               checkWin.document.write(popupCode);
               checkWin.document.close();
              }
              function closeCheck() {
               popUpsEnanbled = true;
               rewriteLink();
              }
              function rewriteLink() {
              // alert(popUpsEnanbled);
               if (document.getElementsByTagName) {
                var linkObj = document.getElementsByTagName("a")["testLink"];
                var nodeAttributes = linkObj.attributes;
                for (var i=0;i<nodeAttributes.length;i++) {
                 if (nodeAttributes[i].nodeName.toLowerCase() == "href") { // .toLowerCase() wegen opera 7.0
                  nodeAttributes[i].nodeValue = "http://forum.de.selfhtml.org"
                 }
                }
                linkObj.innerHTML = "http://forum.de.selfhtml.org";
               }
              }
             //-->
             </script>
             <style type="text/css">
             <!--
             body {
              margin-left:0px;
              margin-top:0px;
              margin-right:0px;
              margin-bottom:0px;
              background-color:#efefef;
              background-image:none;
              font-family:verdana,geneva,helvetica,arial,sans-serif;
              font-weight:normal;
              color:#000000;
              font-size:12px;
              line-height:14px;
             }
             div {
              font-family:verdana,geneva,helvetica,arial,sans-serif;
              font-weight:normal;
              color:#000000;
              font-size:12px;
              line-height:14px;
             }

            a:link {text-decoration:underline; color:#707070;}
             a:visited {text-decoration:underline; color:#aaaaaa;}
             a:hover {text-decoration:none; color:#707070;}
             a:active {text-decoration:underline; color:#ff9000;}

            a.internal:hover {background-color:#ff9000; color:#000000;}
             a.external:hover {background-color:#000000; color:#ffffff;}

            #content {width:50%;}
             .leftFloat {float:left;}
             .vBorder {width:25%;}
             //-->
             </style>
            </head>

            <body onload="popupCheck()" bgcolor="#efefef" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0" rightmargin="0" bottommargin="0">
            <div id="leftBorder" name="leftBorder" class="leftFloat vBorder"> </div>
            <div id="content" name="content" class="leftFloat">
             <br /><br />
             <hr style="width:100%;height:1px" />
             <br />
             Hallo zusammen,<br />
             <br />
             gibt's ne Mölichkeit abzufragen, ob im Mozilla automatische PopUps abgeschaltet sind? Hintergrund:
             Ich bastle gerade mit dem Joust Outliner herum, der die Option "Floating Menu" anbietet.<br />
             Das geht aber im Mozilla nur, wenn autom. PopUps erlaubt sind. Daher würde ich diese Option gerne
             "verstecken", wenn sie gar nicht gehen kann - und dazu müsste ich herausfinden, ob sie
             abgeschaltet sind oder nicht.<br />
             <br />
             Grüße, Utz<br />
             <br />
             <hr style="width:100%;height:1px" />
             <br />
             gruss Utz,<br />
             <br />
             falls popups enabled sind, muss Dich der folgende link zum selfforum führen - wenn nicht, wird auf SELFHTML
             verwiesen - <a class="external" id="testLink" href="http://selfhtml.teamone.de">http://selfhtml.teamone.de</a><br />
             <br />
             by(t)e by(t)e - peterS. - pseliger@gmx.net<br />
             <br />
             <hr style="width:100%;height:1px" />
             <br />
            </div>
            <div id="rightBorder" name="rightBorder" class="vBorder"> </div>
            </body>

            </html>

            viel erfolg - by(t)e by(t)e - peterS. - pseliger@gmx.net

            1. Hi Peter,

              hier kommt ein grosser tritt:

              Oh ja, wirklich ein großer Tritt, vielen Dank :-) An das Code-Neuschreiben per DOM hatte ich tatsächlich nicht gedacht. Jetzt muss ich ja nur noch in mich gehen, ob ich den Leuten dass kleine Test-PopUp zumuten will oder nicht. Ob das die Leute wohl merken, dass nach dem Zugehen des Fensterchens ein zusätzlicher Link da steht? Wenn ja, wäre das tatsächlich ein praktikabler Workaround...vielen Dank nochmal!

              Grüße,

              Utz