Hans: Prototype window

Schönen guten Abend an alle, die noch wach sind!

Ich bastle momentan gerade eine Seite mit Prototype window und Lightbox und steh da gerade vor einem Problemchen. Ich möchte, dass beim Öffnen einer Seite (schlichtes html) direkt (d.h. gleichzeitig) auch ein Prototype-Fenster geöffnet wird, ohne dass ein Link angeklickt werden muss. Konkret soll darin der Benutzer auf Inkompatibilitäten mit bestimmten Browsern aufmerksam gemacht werden. Auf der Prototype-website (http://prototype-window.xilinus.com) gibt es solch ein Fenster, dies funktioniert aber nur mit Cookies und ich habe es leider auch noch nicht geschafft, es zu kopieren. Hat vielleicht jemand Hinweise, wie das funktionieren kann oder weiß jemand, wo man eine derartige Seite finden könnte?

lg Hans

  1. Hi,

    Auf der Prototype-website (http://prototype-window.xilinus.com) gibt es solch ein Fenster, dies funktioniert aber nur mit Cookies und ich habe es leider auch noch nicht geschafft, es zu kopieren. Hat vielleicht jemand Hinweise, wie das funktionieren kann oder weiß jemand, wo man eine derartige Seite finden könnte?

    Da steht
    window.onload = checkVisit;
    im Quelltext.
    Das heißt, dass nach dem Laden der Seite (onload) die Funktion checkVisit aufgerufen wird. Wenn du mal einen Blick auf den Quelltext der Seite wirfst solltest du das leicht nachvollziehen können.

    mfG,
    steckl

    1. Danke natürlich für Deine Antwort. Ich stand schon etwas auf der Leitung und habs jetzt recht flott hinbekommen. Ich hab mich jetzt doch dazu entschieden, es mit Cookies zu machen, bedeutet einfach mehr Komfort. Aber ein Problem hab ich noch: Bei mir wird kein "Close"-Button angezeigt. Es steht zwar der jeweilige Text da, den man zum schließen auch anklicken kann (es funktioniert auch), aber der Text steht eben einfach nur schwarz auf weiß und ist nicht als Button zu erkennen. Könnte das an WindowCloseKey.init() liegen? Dazu ein Ausschnitt aus meinem Code:

      <script type="text/JavaScript">
      window.onload = checkVisit;

      function dialog() {
        Dialog.alert("Hier steht der Text.",
                     {windowParameters: {className: "alphacube", width:250, height:300}, okLabel: "Close",
                      ok:function(win) {debug("validate alert panel"); return true;}, cancel:function(win) {debug("validate cancel panel"); return true;}});

      }
      WindowCloseKey.init();

      function setCookie(name, value, expires, path, domain, secure) {
        document.cookie= name + "=" + escape(value) +
          ((expires) ? "; expires=" + expires.toGMTString() : "") +
          ((path) ? "; path=" + path : "") +
          ((domain) ? "; domain=" + domain : "") +
          ((secure) ? "; secure" : "");
      }

      function getCookie(name) {
        var dc = document.cookie;
        var prefix = name + "=";
        var begin = dc.indexOf("; " + prefix);
        if (begin == -1) {
          begin = dc.indexOf(prefix);
          if (begin != 0) return null;
        } else {
          begin += 2;
        }
        var end = document.cookie.indexOf(";", begin);
        if (end == -1) {
          end = dc.length;
        }
        return unescape(dc.substring(begin + prefix.length, end));
      }

      function checkVisit() {
        // Check last viewed version
        var cookie = getCookie("javawin");

      if (cookie == null || parseFloat(cookie) < 1.31) {
          Windows.overlayHideEffectOptions = {duration: 0.3, delay: 0.3},

      dialog();

      date=new Date;
          date.setMonth(date.getMonth()+3);
          setCookie("javawin", "1.31", date);
        }
      }

      </script>

      lg Hans