Ankündigung

Einklappen
Keine Ankündigung bisher.

Modifikationen Ajax.js

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

  • NilsS
    antwortet
    Zitat von makki Beitrag anzeigen
    Sollte ~ wirklich in einer URL verwendet werden (wo mir jetzt kein Fall bekannt wäre), muss es halt dann dort als "%7E" eingetragen werden.
    homedirs verwenden /~username in urls was aber wohl eher selten aus dem HS aufgerufen wird

    Mir ist noch * eingefallen der sollte in URL's Tabu sein aber evtl in der Beschreibung nicht

    Einen Kommentar schreiben:


  • makki
    antwortet
    Nee, das mit dem Pipe es liegt nicht am RDP.. Blöd, bei etwas nachdenken machts auch gleich irgendwie Sinn, sonst müsste es als Trennzeichen in der proj.hs3 escaped werden
    Hab mir eben mal die w3c-speces durchgesehen, von den verbleibenden gefällt mir persönlich ~ jetzt am ehesten. Sollte ~ wirklich in einer URL verwendet werden (wo mir jetzt kein Fall bekannt wäre), muss es halt dann dort als "%7E" eingetragen werden. Ist by design wohl nur für irgendwelches Internationales-Zeichensatz-Zeug in URIs vorgesehen und z.B. Umlaute in URLs fände ich ohnehin ziemlich krank

    Makki

    Einen Kommentar schreiben:


  • NilsS
    antwortet
    Zitat von makki Beitrag anzeigen
    Ohne jetzt über alle möglichen Varianten im Detail nachgedacht zu haben: | (Pipe) ?
    war auch mein erster Gedanke, aber ich weiß nicht obs an der rdp Sitzung liegt oder der Experte lässt mich kein | eingeben

    Einen Kommentar schreiben:


  • makki
    antwortet
    Trennzeichen: denke einfach etwas das in URLs nicht vorkommen (kann/darf) und im Text normalerweise nicht verwendet wird. Ohne jetzt über alle möglichen Varianten im Detail nachgedacht zu haben: | (Pipe) ?
    ~: nicht sicher, könnte aber glaub ich in URLs möglich sein
    @: wäre jedenfalls IMHO schlecht wegen User:Pass@site

    Ansonsten Klasse, einfach Klasse

    Makki

    Einen Kommentar schreiben:


  • NilsS
    antwortet
    Neue Funktion:

    Code:
     
    XXHTML;<object width="320" height="265"><param name="movie" value="[URL]http://www.youtube.com/v/QhIBo4MIG4Y&hl=de&fs=1&rel=0&color1=0x3a3a3a&color2=0x999999[/URL]" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed src="[URL]http://www.youtube.com/v/QhIBo4MIG4Y&hl=de&fs=1&rel=0&color1=0x3a3a3a&color2=0x999999[/URL]" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="f" width="320" height="265"></embed></object>
    mal zum testen

    edit: nicht vergessen mal n paar Inspirationen mediaplayer,vlc-plugin,musikplayer,playlist,vlc esound(esd),video,upnp,camera mp4,.......


    html technisch ist alles danach möglich.

    der HS wandelt den html code in [object width=?320? ....
    um und das javascript wandelt es wieder zurück.

    Doch Vorsicht. Dacom hat es bestimmt nicht zum Spass ausdokumentiert.

    Code:
    --- ajax-orig.js Wed Jun 11 11:59:34 2008
    +++ ajax.js Mon Apr 20 22:10:30 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,66 @@
           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("XXHTML;") == 0) {
    +        aVisuItem.txt=aVisuItem.txt.substr(7,aVisuItem.txt.length);
    +        aVisuItem.txt=aVisuItem.txt.replace(/\[/g, "<");
    +        aVisuItem.txt=aVisuItem.txt.replace(/=\?/g, "=\"");
    +        aVisuItem.txt=aVisuItem.txt.replace(/\? /g, "\" ");
    +        aVisuItem.txt=aVisuItem.txt.replace(/\?\]/g, "\">");
    +        aVisuItem.txt=aVisuItem.txt.replace(/\]/g, ">");
    +      }  
    +      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 +2133,7 @@
     
       // HTML-Framework
       base = document.getElementById("xbase");
    +  base.onmousemove = baseMouseMove;
       mark = document.getElementById("xmark");
       reconnect = document.getElementById("xreconnect");  
       reconnect.onclick = clickReconnect;

    Einen Kommentar schreiben:


  • NilsS
    antwortet
    ouch.

    hab gerade bei vento66 auf der Demo Seite gesehen, wie unglücklich meine wahl mit dem Trennzeichen ";" war "XXLINK;Zum Gl&uuml;ck gek&uuml;sst;http://www.tvmovie.de/Zum-Glueck-gekuesst.84.0.html?&detail=12092183" macht es ziemlich schwer den link zu finden.

    was denkt ihr welches Trennzeichen ansonsten nicht verwendet wird ??
    "@" evtl. email
    "@@" würde gehen aber lang
    "#" zu oft verwendet in urls verwendet
    "^" evtl keine Ahnung in urls
    "~" evtl.

    wenn sollten wir das Trennzeichen möglichst schnell festlegen,
    damit nachher nicht schon zuviel in der Visu oder in Logik nach dem jetzigen Trennzeichen ";" arbeitet.

    Bitte um Vorschläge

    Einen Kommentar schreiben:


  • NilsS
    antwortet
    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

    Einen Kommentar schreiben:


  • NilsS
    antwortet
    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

    Einen Kommentar schreiben:


  • NilsS
    antwortet
    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

    Einen Kommentar schreiben:


  • NilsS
    antwortet
    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.

    Einen Kommentar schreiben:


  • NilsS
    antwortet
    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

    Einen Kommentar schreiben:


  • vento66
    antwortet
    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.

    Einen Kommentar schreiben:


  • günneib
    antwortet
    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

    Einen Kommentar schreiben:


  • NilsS
    antwortet
    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

    Einen Kommentar schreiben:


  • günneib
    antwortet
    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

    Einen Kommentar schreiben:

Lädt...
X