Ankündigung

Einklappen
Keine Ankündigung bisher.

Modifikationen Ajax.js

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #46
    update:

    damit XXLINK und XXIFRAME funktionieren.

    Code:
     
    XXLINKURL = "";
    oben in den Anfang der ajax.js schreiben
    wo auch all die anderen globalen variablen definiert werden.
    Nils

    aktuelle Bausteine:
    BusAufsicht - ServiceCheck - Pushover - HS-Insight

    Kommentar


      #47
      Zitat von vento66 Beitrag anzeigen
      aber durch den Absturz de Forums sind deine Anhänge in Deinen Beiträgen alle verschwunden..........

      oops hab ich zwar gelesen aber garnicht drauf geachtet das du den Code meintest. ich hab nur nach den anhängen geguckt.

      also noch mal komplett.

      LOS GEHTS.


      1. Teil
      suche nach

      Code:
      isBusy=0;
      xmlhttp = null;
      und füge danach
      Code:
      XXLINKURL = "";
      ein.

      2. Teil

      suche nach

      Code:
       
      function drawVisuUpdate(_resp) {
      füge nach
      Code:
      item.txt=getXmlAttr(aRes[0],"txt");
      if (item.handle!=null) {
      das hier
      Code:
                    if(item.txt.indexOf("XXHTTP;") == 0) {
                      item.txt=item.txt.substr(7,item.txt.length);
                      XXHTTPURL = item.txt.substr(item.txt.indexOf(";")+1,item.txt.length);
                      // Wenn URL mit HSLIST: beginnt öffne Archiv
                      if(XXHTTPURL.indexOf("HSLIST:") == 0) {
                        XXHTTPURL = "/hslist?lst=" + XXHTTPURL.substr(7,XXHTTPURL.length) + "&user=" + loginData.user + "&pw=" + loginData.pw;
                      }
                      item.txt="<div style=\"width: 100%;height: 100%;cursor: hand;\"onclick=\"XXHTTPWin=window.open('" + XXHTTPURL + "','XXHTTP');\">" +item.txt.substr(0,item.txt.indexOf(";")) + "</div>";
                    } 
                    if(item.txt.indexOf("XXLINK;") == 0) {
                      item.txt=item.txt.substr(7,item.txt.length);
                      XXHTTPURL = item.txt.substr(item.txt.indexOf(";")+1,item.txt.length);
                      // Wenn URL mit HSLIST: beginnt öffne Archiv
                      if(XXHTTPURL.indexOf("HSLIST:") == 0) {
                        XXHTTPURL = "/hslist?lst=" + XXHTTPURL.substr(7,XXHTTPURL.length) + "&user=" + loginData.user + "&pw=" + loginData.pw;
                      }
                      item.txt="<div style=\"width: 100%;height: 100%;cursor: hand;\" onclick=\"XXLINKURL='" +XXHTTPURL + "';\">" +item.txt.substr(0,item.txt.indexOf(";")) + "</div>";
                    }
      
                    if(item.txt.indexOf("XXIMG;") == 0) {
                      item.txt="<img src=\"" + item.txt.substr(6,item.txt.length) + "\" alt=\"IMAGE\" width=" + item.w + " height=" + item.h + " >";
                    }  
                    if(item.txt.indexOf("XXIFRAME;") == 0) {
                      item.txt="<iframe src=\"" + XXLINKURL + "\" width=" + item.w + " height=" + item.h + " >";
                    }
      vor dem hier
      Code:
                    item.handle.innerHTML=item.txt;
      ein.

      3.Teil

      suche nach
      Code:
      function onFetchVisuOk(transport)
      füge nach
      Code:
      aVisuItem.txt=getXmlAttr(aRes[0],"txt");
      aVisuItem.hasCmd=getXmlAttr(aRes[0],"hcmd");
      aVisuItem.click=getXmlAttr(aRes[0],"click")*1;
      das hier
      Code:
      if(aVisuItem.txt.indexOf("XXHTTP;") == 0) 
      {
      aVisuItem.txt=aVisuItem.txt.substr(7,aVisuItem.txt.length);
      XXHTTPURL = aVisuItem.txt.substr(aVisuItem.txt.indexOf(";")+1,aVisuItem.txt.length);
      // Wenn URL mit HSLIST: beginnt öffne Archiv
      if(XXHTTPURL.indexOf("HSLIST:") == 0)
      {
      XXHTTPURL = "/hslist?lst=" + XXHTTPURL.substr(7,XXHTTPURL.length) + "&user=" + loginData.user + "&pw=" + loginData.pw;
      }
      aVisuItem.txt="<div style=\"width: 100%;height: 100%;cursor: hand;\" onclick=\"XXHTTPWin=window.open('" + XXHTTPURL + "','XXHTTP');\">" +aVisuItem.txt.substr(0,aVisuItem.txt.indexOf(";")) + "</div>";
      }
      if(aVisuItem.txt.indexOf("XXLINK;") == 0) 
      {
      aVisuItem.txt=aVisuItem.txt.substr(7,aVisuItem.txt.length);
      XXHTTPURL = aVisuItem.txt.substr(aVisuItem.txt.indexOf(";")+1,aVisuItem.txt.length);
      // Wenn URL mit HSLIST: beginnt öffne Archiv
      if(XXHTTPURL.indexOf("HSLIST:") == 0)
      {
      XXHTTPURL = "/hslist?lst=" + XXHTTPURL.substr(7,XXHTTPURL.length) + "&user=" + loginData.user + "&pw=" + loginData.pw;
      }
      aVisuItem.txt="<div style=\"width: 100%;height: 100%;cursor: hand;\" onclick=\"XXLINKURL='" +XXHTTPURL + "';\">" +aVisuItem.txt.substr(0,aVisuItem.txt.indexOf(";")) + "</div>";
      }
      if(aVisuItem.txt.indexOf("XXIMG;") == 0) {
      aVisuItem.txt="<img src=\"" + aVisuItem.txt.substr(6,aVisuItem.txt.length) + "\" alt=\"IMAGE\" width=" + aVisuItem.w + " height=" + aVisuItem.h + " >";
      } 
      if(aVisuItem.txt.indexOf("XXIFRAME;") == 0) {
      aVisuItem.txt="<iframe src=\"" + XXLINKURL + "\" width=" + aVisuItem.w + " height=" + aVisuItem.h + " >";
      }
      vor dem hier
      Code:
      aItems.push(aVisuItem);
      ein.

      ps: hoffe die Code Blocks verschwinden nicht nochmal
      Nils

      aktuelle Bausteine:
      BusAufsicht - ServiceCheck - Pushover - HS-Insight

      Kommentar


        #48
        So ich habe jetzt Dank NilsS es endlich hin bekommen das der HTTP Aufruf in meiner Visu funktioniert. Jetzt ist es möglich Websiten direkt aus der Visu aufzurufen, was sehr viele neue Möglichkeiten eröffnet (Formel1 Live Ticker direkt auf der Visu , mit ein wenig Logik den TV-Movie Tagestipp direkt als Seite aufrufen......) Ich glaube das mann sich einiges an Webabfragen sparen kann wenn man sich die Seiten direkt aufruft. Für alle die es interessiert ist eine Beispielseite auf meiner Visu vorhanden....


        Danke auch an alle die sich hier im Forum so super beteiligen!

        Kommentar


          #49
          SICHERHEIT:

          Wenn ihr als Sicherheit die von Dacom beschriebene Möglichkeit.
          Security by Obscurity verwendet, sprich einfach einen Einstiegslink.
          http://meinHS/opt/hsav/veryverysecretpath.htm verwendet dann ist dieser link bei allen über XXHTTP und XXLINK verlinkten seiten als Referer zu sehen. Allerdings ist das eh kein wirklich sicherer Weg da dieser Link auch in Proxyserver Logfiles steht.(auch wenn die seltener betrachtet werden als Website statistiken mit Referer).

          Ich werde mal sehen ob ich ein JS Redirect script erstellen kann.
          Nils

          aktuelle Bausteine:
          BusAufsicht - ServiceCheck - Pushover - HS-Insight

          Kommentar


            #50
            quick fix
            datei direct im hsupload ordner mit dem Namen redirect.htm mit folgendem Inhalt erstellen.
            Code:
            <html>
            <head>
            <title>Redirect</title>
            <script type="text/javascript">
            var url=document.URL.substr(document.URL.indexOf("\?")+1,document.URL.length);
            location.replace(url);
            </script>
            </head>
            <body>
            Javascript Redirect:
            <span style='color: red;'>Javascript ist deaktiviert</span>
            </body>
            </html>
            könnte aber evtl. probleme bei sonderzeichen in der url geben.

            im ajax.js
            suchen und ersetzen

            Code:
            window.open('" + XXHTTPURL
            mit
            Code:
            window.open('/opt/redirect.htm?" + XXHTTPURL
            und

            Code:
            onclick=\"XXLINKURL='" +XXHTTPURL
            mit
            Code:
            onclick=\"XXLINKURL='/opt/redirect.htm?" +XXHTTPURL
            Nils

            aktuelle Bausteine:
            BusAufsicht - ServiceCheck - Pushover - HS-Insight

            Kommentar


              #51
              extra funktion:

              XXTRIGGER;
              löst automatisch beim aufbau der seite aus.
              Ideal als Counter für Seiten ;-) einfach als Befehl iko schritt+
              und das TEXTobjekt irgendwo auf der seite plazieren.(Wird nicht angezeigt)

              suche in einer geänderten version nach

              Code:
              if(aVisuItem.txt.indexOf("XXIFRAME;") == 0) {
              einfach zwischen
              Code:
              if(aVisuItem.txt.indexOf("XXIMG;") == 0) {
              aVisuItem.txt="<img src=\"" + aVisuItem.txt.substr(6,aVisuItem.txt.length) + "\" alt=\"IMAGE\" width=" + aVisuItem.w + " height=" + aVisuItem.h + " >";
              }
              und dem
              Code:
               
              if(aVisuItem.txt.indexOf("XXIFRAME;") == 0) {
              aVisuItem.txt="<iframe src=\"" + XXLINKURL + "\" width=" + aVisuItem.w + " height=" + aVisuItem.h + " >";
              }
              das hier einfügen

              Code:
              if(aVisuItem.txt.indexOf("XXTRIGGER;") == 0) {
              aVisuItem.txt="";
              doCmd(aVisuItem);
              }
              Nils

              aktuelle Bausteine:
              BusAufsicht - ServiceCheck - Pushover - HS-Insight

              Kommentar


                #52
                Hi
                Als erstes mal ein GROßES Dankeschön an euch.Super möglichkeit mit der Modifikation.

                Nur läuft bei mir der XXLINK nicht .Popup öffnet sich aber keine Webseite.XXHTTP läuft einwandfrei.
                Habe meine Einstellungen als Anhang,könnt Ihr mir helfen?
                Gruß Günther

                Ich ziehe meinen Hut.
                Angehängte Dateien
                KNX Projekte:130
                HS:45
                KNX,Visu mit HS,Alarmanbindung an HS(Telenot),Revox-HS,
                www.progplan.it

                Kommentar


                  #53
                  Hi,

                  hast du mal http://deinHs/opt/hsav/js/ajax.js im Browser aufgerufen und überprüft das es auch die richtige datei ist?

                  ansonsten mal <strg> + F5 zum reload
                  Nils

                  aktuelle Bausteine:
                  BusAufsicht - ServiceCheck - Pushover - HS-Insight

                  Kommentar


                    #54
                    Ich Liebe Dich NilsS.
                    Es geht.Seh den Wald vor lauter Bäume nicht.

                    Suuuuper Teil.Es ermöglichen sich viele neue Sachen.

                    Danke.
                    Gruß Günther
                    KNX Projekte:130
                    HS:45
                    KNX,Visu mit HS,Alarmanbindung an HS(Telenot),Revox-HS,
                    www.progplan.it

                    Kommentar


                      #55
                      Hallo Nils!

                      Also erst mal

                      Jetzt komm natürlich gleich das "Kaum reicht man den Finger nimmt er gleich den ganzen Arm" Nein aber im ernst ist es möglich über die Ajax den letzten Klick abzufangen und dann einen Timer zu starten? So eine Funktion währe nicht schlecht um die Startseite automatisch aufzurufen!
                      Es gibt ja hier im Forum auch noch die Lösung mit jedem Tastendruck einen Treppenhausautomat zu starten der das dann erledigt. Aber Du kennst dich ja besser in dem Buchstabengewirr aus.

                      Kommentar


                        #56
                        nur so blind ohne gross drüber nachzudenken.

                        bin gerade dabei aufzubrechen.

                        nimm den code von XXTRIGGER.
                        Code:
                        if(aVisuItem.txt.indexOf("XXTRIGGER;") == 0) {
                        aVisuItem.txt="";
                        delay = parseInt(aVisuItem.txt.substr(10,aVisuItem.txt.length)) * 1000;
                        if(delay > 0) {
                        window.setTimeout("doCmd(aVisuItem)", delay);
                        } else {
                        doCmd(aVisuItem);
                        }
                        }
                        jetzt kannst du ein TXT element erstellen mit text
                        XXTRIGGER;verzögerung in secunden
                        und kannst entweder befehle ausführen oder auch seiten aufrufen
                        Nils

                        aktuelle Bausteine:
                        BusAufsicht - ServiceCheck - Pushover - HS-Insight

                        Kommentar


                          #57
                          Zitat von vento66 Beitrag anzeigen
                          ist es möglich über die Ajax den letzten Klick abzufangen und dann einen Timer zu starten? So eine Funktion währe nicht schlecht um die Startseite automatisch aufzurufen!
                          Ok jetzt hab ich's kappiert.
                          inactivy Timer,Bildschirmschoner....

                          UNGETESTET


                          suche nach

                          Code:
                           
                          XXLINKURL = "";
                          füge danach das ein;
                          Code:
                            XXINACTIVDELAY = 0;
                            XXINACTIVOBJ = null;
                            XXINACTIVTIMER = null;
                          suche nach
                          Code:
                          function visuClick(_event)
                          füge ein

                          Code:
                          if(XXINACTIVOBJ !== null) {
                            if(XXINACTIVTIMER !== null) {
                              window.clearTimeout(XXINACTIVTIMER);
                            }
                            XXINACTIVTIMER = window.setTimeout("doCmd(XXINACTIVOBJ)", XXINACTIVEDELAY);
                          }
                          direct hinter den XXTRIGGER code
                          Code:
                          if(aVisuItem.txt.indexOf("XXINACTIV;") == 0) {
                            aVisuItem.txt="";
                            XXINACTIVDELAY = parseint(aVisuItem.txt.substr(11,aVisuItem.txt.length)) * 1000;
                            XXINACTIVOBJ = aVisuItem;
                            XXINACTIVTIMER = window.setTimeout("doCmd(XXINACTIVOBJ)", XXINACTIVEDELAY);
                          }
                          }

                          dann kannst du ein Textelement erstellen mit XXINACTIV; als text und als
                          aktion -> seite aufrufen .. was auch immer,´.
                          oder einfach nur befehle ausführen .....

                          geht aber immer nur ein timer pro seite.
                          ein gesetzter Timer bleibt auch bei seitenwechsel bestehen und wird weiter durch klicks aktualisiert.

                          also nur einmal auf die startseite und fertig.

                          zum ausschalten einfach einen Text mit XXINACTIV; erstellen ohne funktionen.
                          Nils

                          aktuelle Bausteine:
                          BusAufsicht - ServiceCheck - Pushover - HS-Insight

                          Kommentar


                            #58
                            so hab jetzt mal ein bischen getestet.

                            XXTRIGGER funzt nur ohne verzögerung,
                            XXINACTIV geht garnicht.

                            wenn ich
                            Code:
                            doCmd(aVisuItem)
                            direkt ausführe gehts aber da aVisuItem sich ja danach verändert muss es über eine andere funktion aufgerufen werden. werd mal gucken ob ich ne function doDelayCmd erstelle oder die bestehende doCmd erweiter??

                            SICHERHEIT

                            auch XXIMG; gibt den referer der seite zurück.

                            evtl sollte der redirect nach der authentifizierung erfolgen.
                            sprich
                            http://meinHs/opt/hsav/verysecretpath.htm
                            auth cookie erstellen und redirect auf
                            http://meinHs/opt/hsav/default.htm

                            Nils

                            aktuelle Bausteine:
                            BusAufsicht - ServiceCheck - Pushover - HS-Insight

                            Kommentar


                              #59
                              Zitat von NilsS Beitrag anzeigen
                              .

                              XXTRIGGER funzt nur ohne verzögerung,
                              XXINACTIV geht garnicht.
                              lol

                              wenn man bischen blöd is
                              Code:
                              if(aVisuItem.txt.indexOf("XXTRIGGER;") == 0) {
                              aVisuItem.txt="";
                              delay = parseInt(aVisuItem.txt.substr(10,aVisuItem.txt.length)) * 1000;
                              if(delay > 0) {
                              window.setTimeout("doCmd(aVisuItem)", delay);
                              } else {
                              doCmd(aVisuItem);
                              }
                              }
                              erstmal aVisuItem.txt=""; und dann versuchen den Inhalt davon auszulesen.

                              so ab jetzt nur noch diffs (siehe wikipedia)

                              is ja nicht mehr solange bis https://knx-user-forum.de/52405-post2.html

                              Code:
                              --- ajax-orig.js Wed Jun 11 11:59:34 2008
                              +++ ajax.js Mon Apr 20 10:31:22 2009
                              @@ -39,6 +39,11 @@
                               hs_connected = 0;
                               isBusy=0;
                               xmlhttp = null;
                              +XXLINKURL = "";
                              +XXINACTIVDELAY = 0;
                              +XXINACTIVOBJ = null;
                              +XXINACTIVTIMER = null;
                              +
                               
                               // Markierung
                               markImg = null
                              @@ -1084,6 +1089,12 @@
                               function visuClick(_event)
                               {
                                 hidePointer();
                              +  if(XXINACTIVOBJ != null) {
                              +    if(XXINACTIVTIMER != null) {
                              +      window.clearTimeout(XXINACTIVTIMER);
                              +    }
                              +    XXINACTIVTIMER = window.setTimeout("doCmd(XXINACTIVOBJ)", XXINACTIVDELAY);
                              +  }
                                 var _item=aVisu[parseInt(this.name,10)];
                                 showPointerByClick(_item);
                                 mouseClickItem = _item;
                               
                              @@ -1268,6 +1279,48 @@
                                         var item=aVisu[npos];
                                         item.txt=getXmlAttr(aRes[0],"txt");
                                         if (item.handle!=null) {
                              +              if(item.txt.indexOf("XXHTTP;") == 0) {
                              +                item.txt=item.txt.substr(7,item.txt.length);
                              +                XXHTTPURL = item.txt.substr(item.txt.indexOf(";")+1,item.txt.length);
                              +                // Wenn URL mit HSLIST: beginnt öffne Archiv
                              +                if(XXHTTPURL.indexOf("HSLIST:") == 0) {
                              +                  XXHTTPURL = "/hslist?lst=" + XXHTTPURL.substr(7,XXHTTPURL.length) + "&user=" + loginData.user + "&pw=" + loginData.pw;
                              +                }
                              +                item.txt="<div style=\"width: 100&#37;;height: 100%;cursor: hand;\"onclick=\"XXHTTPWin=window.open('/opt/redirect.htm?" + XXHTTPURL + "','XXHTTP');\">" +item.txt.substr(0,item.txt.indexOf(";")) + "</div>";
                              +              } 
                              +              if(item.txt.indexOf("XXLINK;") == 0) {
                              +                item.txt=item.txt.substr(7,item.txt.length);
                              +                XXHTTPURL = item.txt.substr(item.txt.indexOf(";")+1,item.txt.length);
                              +                // Wenn URL mit HSLIST: beginnt öffne Archiv
                              +                if(XXHTTPURL.indexOf("HSLIST:") == 0) {
                              +                  XXHTTPURL = "/hslist?lst=" + XXHTTPURL.substr(7,XXHTTPURL.length) + "&user=" + loginData.user + "&pw=" + loginData.pw;
                              +                }
                              +                item.txt="<div style=\"width: 100%;height: 100%;cursor: hand;\" onclick=\"XXLINKURL='/opt/redirect.htm?" +XXHTTPURL + "';\">" +item.txt.substr(0,item.txt.indexOf(";")) + "</div>";
                              +              }
                              +              if(item.txt.indexOf("XXIFRAME;") == 0) {
                              +                item.txt=item.txt.substr(9,item.txt.length);
                              +                XXIFRAMEURL=item.txt.substr(item.txt.indexOf(";")+1,item.txt.length);
                              +                if(XXIFRAMEURL == "") {
                              +                  item.txt="<iframe src=\"" + XXLINKURL + "\" width=" + item.w + " height=" + item.h + " >";
                              +                } else {
                              +                  item.txt="<iframe src=\"/opt/redirect.htm?" + XXIFRAMEURL + "\" width=" + item.w + " height=" + item.h + " >";
                              +                }
                              +              }
                              +              if(item.txt.indexOf("XXTRIGGER;") == 0) {
                              +                delay = parseInt(item.txt.substr(10,item.txt.length)) * 1000;
                              +                item.txt="";
                              +                if(delay > 0) {
                              +                  window.setTimeout("doCmd(item)", delay);
                              +                } else {
                              +                  doCmd(item);
                              +                }
                              +              }      
                              +
                              +              if(item.txt.indexOf("XXIMG;") == 0) {
                              +                item.txt="<img src=\"" + item.txt.substr(6,item.txt.length) + "\" alt=\"IMAGE\" width=" + item.w + " height=" + item.h + " >";
                              +              }  
                              +
                              +
                                           item.handle.innerHTML=item.txt;
                                         }
                                       }
                              @@ -1834,6 +1887,58 @@
                                     aVisuItem.txt=getXmlAttr(aRes[0],"txt");
                                     aVisuItem.hasCmd=getXmlAttr(aRes[0],"hcmd");
                                     aVisuItem.click=getXmlAttr(aRes[0],"click")*1;
                              +      if(aVisuItem.txt.indexOf("XXHTTP;") == 0) 
                              +      {
                              +        aVisuItem.txt=aVisuItem.txt.substr(7,aVisuItem.txt.length);
                              +        XXHTTPURL = aVisuItem.txt.substr(aVisuItem.txt.indexOf(";")+1,aVisuItem.txt.length);
                              +        // Wenn URL mit HSLIST: beginnt öffne Archiv
                              +        if(XXHTTPURL.indexOf("HSLIST:") == 0)
                              +        {
                              +          XXHTTPURL = "/hslist?lst=" + XXHTTPURL.substr(7,XXHTTPURL.length) + "&user=" + loginData.user + "&pw=" + loginData.pw;
                              +        }
                              +        aVisuItem.txt="<div style=\"width: 100%;height: 100%;cursor: hand;\" onclick=\"XXHTTPWin=window.open('/opt/redirect.htm?" + XXHTTPURL + "','XXHTTP');\">" +aVisuItem.txt.substr(0,aVisuItem.txt.indexOf(";")) + "</div>";
                              +      }
                              +      if(aVisuItem.txt.indexOf("XXLINK;") == 0) 
                              +      {
                              +        aVisuItem.txt=aVisuItem.txt.substr(7,aVisuItem.txt.length);
                              +        XXHTTPURL = aVisuItem.txt.substr(aVisuItem.txt.indexOf(";")+1,aVisuItem.txt.length);
                              +        // Wenn URL mit HSLIST: beginnt öffne Archiv
                              +        if(XXHTTPURL.indexOf("HSLIST:") == 0)
                              +        {
                              +          XXHTTPURL = "/hslist?lst=" + XXHTTPURL.substr(7,XXHTTPURL.length) + "&user=" + loginData.user + "&pw=" + loginData.pw;
                              +        }
                              +        aVisuItem.txt="<div style=\"width: 100%;height: 100%;cursor: hand;\" onclick=\"XXLINKURL='/opt/redirect.htm?" +XXHTTPURL + "';\">" +aVisuItem.txt.substr(0,aVisuItem.txt.indexOf(";")) + "</div>";
                              +      }
                              +      if(aVisuItem.txt.indexOf("XXIMG;") == 0) {
                              +        aVisuItem.txt="<img src=\"" + aVisuItem.txt.substr(6,aVisuItem.txt.length) + "\" alt=\"IMAGE\" width=" + aVisuItem.w + " height=" + aVisuItem.h + " >";
                              +      }  
                              +      if(aVisuItem.txt.indexOf("XXIFRAME;") == 0) {
                              +        aVisuItem.txt=aVisuItem.txt.substr(9,aVisuItem.txt.length);
                              +        XXIFRAMEURL=aVisuItem.txt.substr(aVisuItem.txt.indexOf(";")+1,aVisuItem.txt.length);
                              +        if(XXIFRAMEURL == "") {
                              +          aVisuItem.txt="<iframe src=\"" + XXLINKURL + "\" width=" + aVisuItem.w + " height=" + aVisuItem.h + " >";
                              +        } else {
                              +          aVisuItem.txt="<iframe src=\"/opt/redirect.htm?" + XXIFRAMEURL + "\" width=" + aVisuItem.w + " height=" + aVisuItem.h + " >";
                              +        }
                              +      }  
                              +      if(aVisuItem.txt.indexOf("XXTRIGGER;") == 0) {
                              +        delay = parseInt(aVisuItem.txt.substr(10,aVisuItem.txt.length)) * 1000;
                              +        aVisuItem.txt="";
                              +        if(delay > 0) {
                              +          window.setTimeout("doCmd(aVisuItem)", delay);
                              +        } else {
                              +          doCmd(aVisuItem);
                              +        }
                              +      }      
                              +
                              +      if(aVisuItem.txt.indexOf("XXINACTIV;") == 0) {
                              +        XXINACTIVDELAY = parseInt(aVisuItem.txt.substr(10,aVisuItem.txt.length)) * 1000;
                              +        aVisuItem.txt="";
                              +        XXINACTIVOBJ = aVisuItem;
                              +        XXINACTIVTIMER = window.setTimeout("doCmd(XXINACTIVOBJ)", XXINACTIVDELAY);
                              +      }
                              +
                              +
                                     aItems.push(aVisuItem);
                                   }
                                   else if (aRes[0].substr(0,3)=="BOX")
                              ps: verwende ab jetzt wieder die hsav und nicht die pv
                              XXIFRAME lasst sich jetzt mit URL versehen
                              XXIFRAME;http://somewhere/maybe/an/activexapl...n/an/html/page
                              XXINACTIV; funzt
                              Nils

                              aktuelle Bausteine:
                              BusAufsicht - ServiceCheck - Pushover - HS-Insight

                              Kommentar


                                #60
                                bevor ich noch zuoft änder und nachher keiner mehr weis ob er/sie denn jetzt die aktuelle version hat mal ein neuer post

                                WICHTIG:
                                damit die Links in dieser Version funktionieren muss umbedingt die
                                redirect.htm wie hier beschrieben angelegt werden.

                                Funktionen:

                                XXHTTP;KNX-USER_FORUM;https://knx-user-forum.de:
                                öffnet einen Link im neuen Fenster
                                XXLINK;KNX-USER_FORUM;https://knx-user-forum.de
                                öffnet einen Link in einem vorher definierten XXIFRAME
                                XXIFRAME;
                                FRAME in dem eine mit XXLINK geclikte Seite öffnet
                                XXIFRAME;Google
                                FRAME mit google
                                XXINACTIVE;120
                                führt die Aktion(z.B.: Seite aufrufen) nach 120sec inaktivität aus
                                XXTRIGGER;
                                führt die unter Aktion oder Befehl ausgeführeten Dinge sofort aus
                                XXIMG;http://img2.stern.de/_content/66/13/...nton250_80.jpg
                                zeigt ein Bild in den Maßen des Textfeldes an. kann dynamisch geändert werden



                                XXTRIGGER;verzögerung
                                noch nicht



                                Code:
                                --- ajax-orig.js Wed Jun 11 11:59:34 2008
                                +++ ajax.js Mon Apr 20 11:26:16 2009
                                @@ -39,6 +39,11 @@
                                 hs_connected = 0;
                                 isBusy=0;
                                 xmlhttp = null;
                                +XXLINKURL = "";
                                +XXINACTIVDELAY = 0;
                                +XXINACTIVOBJ = null;
                                +XXINACTIVTIMER = null;
                                +
                                 
                                 // Markierung
                                 markImg = null
                                @@ -1065,6 +1070,17 @@
                                 
                                 mouseClickItem = null;
                                 
                                +function baseMouseMove(_event)
                                +{
                                +  if(XXINACTIVOBJ != null) {
                                +    if(XXINACTIVTIMER != null) {
                                +      window.clearTimeout(XXINACTIVTIMER);
                                +    }
                                +    XXINACTIVTIMER = window.setTimeout("doCmd(XXINACTIVOBJ)", XXINACTIVDELAY);
                                +  }
                                +
                                +}
                                +
                                 // Klick auf Hintergrund abfangen
                                 function bgClick(_event)
                                 {
                                @@ -1268,6 +1284,48 @@
                                           var item=aVisu[npos];
                                           item.txt=getXmlAttr(aRes[0],"txt");
                                           if (item.handle!=null) {
                                +              if(item.txt.indexOf("XXHTTP;") == 0) {
                                +                item.txt=item.txt.substr(7,item.txt.length);
                                +                XXHTTPURL = item.txt.substr(item.txt.indexOf(";")+1,item.txt.length);
                                +                // Wenn URL mit HSLIST: beginnt öffne Archiv
                                +                if(XXHTTPURL.indexOf("HSLIST:") == 0) {
                                +                  XXHTTPURL = "/hslist?lst=" + XXHTTPURL.substr(7,XXHTTPURL.length) + "&user=" + loginData.user + "&pw=" + loginData.pw;
                                +                }
                                +                item.txt="<div style=\"width: 100%;height: 100%;cursor: hand;\"onclick=\"XXHTTPWin=window.open('/opt/redirect.htm?" + XXHTTPURL + "','XXHTTP');\">" +item.txt.substr(0,item.txt.indexOf(";")) + "</div>";
                                +              } 
                                +              if(item.txt.indexOf("XXLINK;") == 0) {
                                +                item.txt=item.txt.substr(7,item.txt.length);
                                +                XXHTTPURL = item.txt.substr(item.txt.indexOf(";")+1,item.txt.length);
                                +                // Wenn URL mit HSLIST: beginnt öffne Archiv
                                +                if(XXHTTPURL.indexOf("HSLIST:") == 0) {
                                +                  XXHTTPURL = "/hslist?lst=" + XXHTTPURL.substr(7,XXHTTPURL.length) + "&user=" + loginData.user + "&pw=" + loginData.pw;
                                +                }
                                +                item.txt="<div style=\"width: 100%;height: 100%;cursor: hand;\" onclick=\"XXLINKURL='/opt/redirect.htm?" +XXHTTPURL + "';\">" +item.txt.substr(0,item.txt.indexOf(";")) + "</div>";
                                +              }
                                +              if(item.txt.indexOf("XXIFRAME;") == 0) {
                                +                item.txt=item.txt.substr(9,item.txt.length);
                                +                XXIFRAMEURL=item.txt.substr(item.txt.indexOf(";")+1,item.txt.length);
                                +                if(XXIFRAMEURL == "") {
                                +                  item.txt="<iframe src=\"" + XXLINKURL + "\" width=" + item.w + " height=" + item.h + " >";
                                +                } else {
                                +                  item.txt="<iframe src=\"/opt/redirect.htm?" + XXIFRAMEURL + "\" width=" + item.w + " height=" + item.h + " >";
                                +                }
                                +              }
                                +              if(item.txt.indexOf("XXTRIGGER;") == 0) {
                                +                delay = parseInt(item.txt.substr(10,item.txt.length)) * 1000;
                                +                item.txt="";
                                +                if(delay > 0) {
                                +                  window.setTimeout("doCmd(item)", delay);
                                +                } else {
                                +                  doCmd(item);
                                +                }
                                +              }      
                                +
                                +              if(item.txt.indexOf("XXIMG;") == 0) {
                                +                item.txt="<img src=\"" + item.txt.substr(6,item.txt.length) + "\" alt=\"IMAGE\" width=" + item.w + " height=" + item.h + " >";
                                +              }  
                                +
                                +
                                             item.handle.innerHTML=item.txt;
                                           }
                                         }
                                @@ -1834,6 +1892,58 @@
                                       aVisuItem.txt=getXmlAttr(aRes[0],"txt");
                                       aVisuItem.hasCmd=getXmlAttr(aRes[0],"hcmd");
                                       aVisuItem.click=getXmlAttr(aRes[0],"click")*1;
                                +      if(aVisuItem.txt.indexOf("XXHTTP;") == 0) 
                                +      {
                                +        aVisuItem.txt=aVisuItem.txt.substr(7,aVisuItem.txt.length);
                                +        XXHTTPURL = aVisuItem.txt.substr(aVisuItem.txt.indexOf(";")+1,aVisuItem.txt.length);
                                +        // Wenn URL mit HSLIST: beginnt öffne Archiv
                                +        if(XXHTTPURL.indexOf("HSLIST:") == 0)
                                +        {
                                +          XXHTTPURL = "/hslist?lst=" + XXHTTPURL.substr(7,XXHTTPURL.length) + "&user=" + loginData.user + "&pw=" + loginData.pw;
                                +        }
                                +        aVisuItem.txt="<div style=\"width: 100%;height: 100%;cursor: hand;\" onclick=\"XXHTTPWin=window.open('/opt/redirect.htm?" + XXHTTPURL + "','XXHTTP');\">" +aVisuItem.txt.substr(0,aVisuItem.txt.indexOf(";")) + "</div>";
                                +      }
                                +      if(aVisuItem.txt.indexOf("XXLINK;") == 0) 
                                +      {
                                +        aVisuItem.txt=aVisuItem.txt.substr(7,aVisuItem.txt.length);
                                +        XXHTTPURL = aVisuItem.txt.substr(aVisuItem.txt.indexOf(";")+1,aVisuItem.txt.length);
                                +        // Wenn URL mit HSLIST: beginnt öffne Archiv
                                +        if(XXHTTPURL.indexOf("HSLIST:") == 0)
                                +        {
                                +          XXHTTPURL = "/hslist?lst=" + XXHTTPURL.substr(7,XXHTTPURL.length) + "&user=" + loginData.user + "&pw=" + loginData.pw;
                                +        }
                                +        aVisuItem.txt="<div style=\"width: 100%;height: 100%;cursor: hand;\" onclick=\"XXLINKURL='/opt/redirect.htm?" +XXHTTPURL + "';\">" +aVisuItem.txt.substr(0,aVisuItem.txt.indexOf(";")) + "</div>";
                                +      }
                                +      if(aVisuItem.txt.indexOf("XXIMG;") == 0) {
                                +        aVisuItem.txt="<img src=\"" + aVisuItem.txt.substr(6,aVisuItem.txt.length) + "\" alt=\"IMAGE\" width=" + aVisuItem.w + " height=" + aVisuItem.h + " >";
                                +      }  
                                +      if(aVisuItem.txt.indexOf("XXIFRAME;") == 0) {
                                +        aVisuItem.txt=aVisuItem.txt.substr(9,aVisuItem.txt.length);
                                +        XXIFRAMEURL=aVisuItem.txt.substr(aVisuItem.txt.indexOf(";")+1,aVisuItem.txt.length);
                                +        if(XXIFRAMEURL == "") {
                                +          aVisuItem.txt="<iframe src=\"" + XXLINKURL + "\" width=" + aVisuItem.w + " height=" + aVisuItem.h + " >";
                                +        } else {
                                +          aVisuItem.txt="<iframe src=\"/opt/redirect.htm?" + XXIFRAMEURL + "\" width=" + aVisuItem.w + " height=" + aVisuItem.h + " >";
                                +        }
                                +      }  
                                +      if(aVisuItem.txt.indexOf("XXTRIGGER;") == 0) {
                                +        delay = parseInt(aVisuItem.txt.substr(10,aVisuItem.txt.length)) * 1000;
                                +        aVisuItem.txt="";
                                +        if(delay > 0) {
                                +          window.setTimeout("doCmd(aVisuItem)", delay);
                                +        } else {
                                +          doCmd(aVisuItem);
                                +        }
                                +      }      
                                +
                                +      if(aVisuItem.txt.indexOf("XXINACTIV;") == 0) {
                                +        XXINACTIVDELAY = parseInt(aVisuItem.txt.substr(10,aVisuItem.txt.length)) * 1000;
                                +        aVisuItem.txt="";
                                +        XXINACTIVOBJ = aVisuItem;
                                +        XXINACTIVTIMER = window.setTimeout("doCmd(XXINACTIVOBJ)", XXINACTIVDELAY);
                                +      }
                                +
                                +
                                       aItems.push(aVisuItem);
                                     }
                                     else if (aRes[0].substr(0,3)=="BOX")
                                @@ -2010,6 +2120,7 @@
                                 
                                   // HTML-Framework
                                   base = document.getElementById("xbase");
                                +  base.onmousemove = baseMouseMove;
                                   mark = document.getElementById("xmark");
                                   reconnect = document.getElementById("xreconnect");  
                                   reconnect.onclick = clickReconnect;
                                ps: zum ändern der ajax.js per Hand solltet ihr notepad2 verwenden da kann man die Zeilennummern anzeigen.
                                (Notepad2 muss nicht installiert werden einfach das exe aus dem zip starten.)
                                Notepad2 - Download
                                Nils

                                aktuelle Bausteine:
                                BusAufsicht - ServiceCheck - Pushover - HS-Insight

                                Kommentar

                                Lädt...
                                X