Ankündigung

Einklappen
Keine Ankündigung bisher.

Modifikationen Ajax.js

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

  • NilsS
    antwortet
    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);
    }

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • vento66
    antwortet
    Danke Nils!

    Ich habe mich heute sofort an deine Worte erinnert, aber durch den Absturz de Forums sind deine Anhänge in Deinen Beiträgen alle verschwunden..........

    Manchmal verliert man und manchmal gewinnt ein anderer...........

    Einen Kommentar schreiben:


  • NilsS
    antwortet
    Hi

    die Version von mir ist die "PocketVisu" die bei den mir eingesetzen Browsern in meiner "sehr bescheidenen" Visu (eher TestVisu) funzt.

    IE7,FF2,FF3,Opera(Mda)

    Ich hab ja gesagt nimm lieber deine Version und änder die paar Zeilen nach der von mir beschriebenen Methode.

    Nur Mut, da kann nicht wirklich was schiefgehen.

    Einen Kommentar schreiben:


  • vento66
    antwortet
    Hallo!
    Eine frage zur modifizierten AJAX.
    Welchen Browser nutzt Ihr mit der modifizierten AJAX?
    Bei mir funktionieren mit dem IE7 die Transparenten Boxen mit einer Verknüpften Aktion nicht mehr! Also angezeit werden sie transparent, aber ich kann nichts auslösen.
    Edit

    Und nach einem Aufruf eines POPUPS mit dem FF 2.20 funktionieren gar keine Verknüpten Symbole mehr!?!?

    Einen Kommentar schreiben:


  • MatthiasS
    antwortet
    Ein halbamtliches habe ich soeben erhalten. Ein wenig Geduld, wenn es ganz amtlich ist, starten wir durch.

    Einen Kommentar schreiben:


  • NilsS
    antwortet
    Zitat von MatthiasS Beitrag anzeigen
    So, eine halbamtliche Erlaubnis von Gira, eine modifizierte knx-uf-Variante der Ajax.js zu veröffentlichen, liegt vor. Die einschlägigen Verdächtigen werden gebeten, sich mit mir in Verbindung zu setzen, damit wir über ein koordiniertes Vorgehen sprechen können.

    Ziel: EINE einzige modifizierte Version mit dokumentierten Änderungen.
    Wie ist das denn eigentlich wenn die modifizierten ajax.js in Gastzugängen vorhanden sind?

    Das wäre ja dann eine Verbreitung von geänderten Originalen, oder??

    Die ajax.js ist dort ja einfach direkt downloadbar.
    http://dyndnsaccount/opt/pv/js/ajax.js

    wäre schön wenn wir da mal ein OK kriegen würden.

    Einen Kommentar schreiben:


  • NilsS
    antwortet
    Update:
    + XXLINK -> öffnet url in einem XXPOPUP siehe Anhang



    1. 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&#37;;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 + " >";
                  }
    vor dem hier ein
    Code:
                  item.handle.innerHTML=item.txt;
    2. Teil
    suche nach
    Code:
    function onFetchVisuOk(transport)
    füge nach
    Code:
          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 ein
    Code:
          aItems.push(aVisuItem);
        }
        else if (aRes[0].substr(0,3)=="BOX")
    jetzt stehen in einem Textfeld die Funktionen:

    XXHTTP;Linktext;URL
    XXHTTP;Linktext;HSLIST:archivname
    XXIMG;Imagepfad z.B (http://somedomain.tld/image/bild.png) die grössen angaben sind die aus dem Textfeld des Experten.
    XXLINK;Linktext;URL
    XXLINK;Linktext;HSLIST:archivname
    XXIFRAME; <- ist der iframe in dem XXLINK dargestellt wird.



    Viel Spass
    Angehängte Dateien

    Einen Kommentar schreiben:


  • NilsS
    antwortet
    hier noch ein update + neue funktion.
    1. 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&#37;;height: 100%;cursor: hand;\"onclick=\"XXHTTPWin=window.open('" + XXHTTPURL + "','XXHTTP');\">" +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 + " >";
                  }
    vor dem hier ein
    Code:
                  item.handle.innerHTML=item.txt;
    2. Teil
    suche nach
    Code:
    function onFetchVisuOk(transport)
    füge nach
    Code:
          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("XXIMG;") == 0) {
            aVisuItem.txt="<img src=\"" + aVisuItem.txt.substr(6,aVisuItem.txt.length) + "\" alt=\"IMAGE\" width=" + aVisuItem.w + " height=" + aVisuItem.h + " >";
          }
    vor dem ein
    Code:
          aItems.push(aVisuItem);
        }
        else if (aRes[0].substr(0,3)=="BOX")
    jetzt stehen in einem Textfeld die Funktionen:

    XXHTTP;Linktext;URL
    XXHTTP;Linktext;HSLIST:archivname
    XXIMG;Imagepfad z.B (http://somedomain.tld/image/bild.png) die grössen angaben sind die aus dem Textfeld des Experten.

    Viel Spass

    Einen Kommentar schreiben:


  • NilsS
    antwortet
    kleines Update.

    Uwe (michel38) hat mich darauf aufmerksam gemacht das dynamische Texte nicht gewandelt werden, wenn die Elemente bereits bestehen.

    hier die zu andernden Zeilen zusatzlich zur bestehenden Änderung.
    suche nach der Funktion
    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&#37;;height: 100%;cursor: hand;\"onclick=\"XXHTTPWin=window.open('" + XXHTTPURL + "','XXHTTP');\">" +item.txt.substr(0,item.txt.indexOf(";")) + "</div>";
                  }
    vor dem hier ein
    Code:
                  item.handle.innerHTML=item.txt;

    Einen Kommentar schreiben:


  • tschappli
    antwortet
    Hallo Manuel

    den Link in der Visu kannst Du dann so bestimmen...und aufrufen!

    siehe hier: https://knx-user-forum.de/40478-post13.html

    Ich selber habe diesen Text eingefügt...

    siehe hier: https://knx-user-forum.de/47527-post32.html (Bild 2)

    da ich den Statischen Text nutze und ja für den Internet Seitenaufruf kein Benutz, Kennwort brauche...

    Gruss
    Tschappli

    Einen Kommentar schreiben:

Lädt...
X