Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di kluster
    Registrato dal
    Jul 2003
    Messaggi
    1,288

    Alternative ad Ajax - Post Caricamento degli SCRIPT tramite DOM

    Sto parlando di questo:
    http://www.webreference.com/programming/ajax_tech/
    tutorial di Nicholas C. Zakas diviso in 2 parti dove l'autore mette in risalto un metodo alternativo per richiamare js esterno con caricamento posticipato degli script tramite DOM

    senza parametri (semplice)
    codice:
    <script type="text/javascript">//<![CDATA[
            function makeRequest() {
              var oScript = document.createElement("script");
              oScript.src = "example1.js";
              document.body.appendChild(oScript);
            }
    
            function callback(sText) {
              alert("Loaded from file: " + sText);
            }
        //]]>
        </script>
    oppure con l'uso di parametri
    codice:
    function makeRequest(sUrl, oParams) {
      for (sName in oParams) {
        if (sUrl.indexOf("?") > -1) {
          sUrl += "&";
        } else {
          sUrl += "?";
        }
        sUrl += encodeURIComponent(sName) + "=" + encodeURIComponent(oParams[sName]);
      }
    
      var oScript = document.createElement("script");
      oScript.src = sUrl;
      document.body.appendChild(oScript);
    }
    Non è una tecnica nuova ed ho visto per esempio che è utilizzata per molti bookmarlket da slayeroffice.org che tra l'altro usa un metodo secondo me migliore per appendere (document.getElementsByTagName("head")[0].appendChild(nodo_script)), ora mi chiedevo secondo voi cosa ne pensate.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    460
    Penso che abbia un centesimo delle potenzialita' di XMLHttpRequest, e che come tale sia poco piu' che un esercizio di stile.
    There are 10 types of people in the world - those who understand binary and those who don't.

  3. #3
    è più un artifizio che un alternativa...
    (ma perchè scrivere la parola alternativa se non lo è? bhà)
    Also, you can't send a POST request using this technique, only a GET, which limits the amount of data that you can send.
    ....e ci sarà un perchè

    e poi...
    This could also be a security issue: make sure you don't send confidential information such as passwords using dynamic script loading, as this information can easily be picked up from the query string
    non conosco l'autore....ma se pensa che con POST sta più tranquillo che con GET....buon per lui...
    There are 10 types of people in the world: Those who understand binary, and those who don't.

  4. #4
    Utente di HTML.it L'avatar di kluster
    Registrato dal
    Jul 2003
    Messaggi
    1,288
    This could also be a security issue: make sure you don't send confidential information such as passwords using dynamic script loading, as this information can easily be picked up from the query string
    non conosco l'autore....ma se pensa che con POST sta più tranquillo che con GET....buon per lui...
    buon per te che l'inglese lo traduci cosi

    "assicurati di non inviare informazioni confidenziali come password utilizzando il caricamento dinamico degli script dato che le informazioni possono essere facilmente recuperate dalla querystring" , quindi l'autore se ne rende perfettamente conto del limite.
    Io credo che per le cavolatine in get sia consigliabile

  5. #5
    visto ce anche questo metodo richiede dei browsers mediamente aggiornati (createElement ed altro) , tanto vale usare HTTPRequest, o no ?

    per il discorso query string, questo non è sicuro tanto quanto ajax, sia get che post, la sicurezza la aggiunge un SSL, non la tecnica client/server utilizzata.

    le cavolatine in get ? ... hanno già un nome, AHAH, che volendo si può modificare ed inviare anche in post.
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    Originariamente inviato da andr3a
    le cavolatine in get ? ... hanno già un nome, AHAH, che volendo si può modificare ed inviare anche in post.
    avviso x coloro che sono soliti discutere animatamente sull' argomento: al primo accenno di "botta/risposta" su AHAH chiudo

  7. #7
    Utente di HTML.it L'avatar di kluster
    Registrato dal
    Jul 2003
    Messaggi
    1,288
    Ma poi non sono qui a sostenere questo o quello, era solo una segnalazione, una cosa che mi sembra di capire è che il metodo puo' essere utilizzato anche come Include javascript o sbaglio?

  8. #8
    Originariamente inviato da kluster
    Ma poi non sono qui a sostenere questo o quello, era solo una segnalazione, una cosa che mi sembra di capire è che il metodo puo' essere utilizzato anche come Include javascript o sbaglio?
    qualunque utilizzo di HTTPRequest può essere usato anche come include javascript.

    Questo metodo da te proposto, per il solo javascript, non è diverso da una richiesta asincrona, solo che a differenza di quest' ultima, non ha uno stato, per cui non si può controllare se lo script è stato letto oppure no, non esiste, per esempio, il parametro state, devi escogitare "mostruosità" per averne uno analogo ma non nativamente utile e supportato.

    Metti caso che la richiesta fallisce o è lenta ... come fai a sapere se lo script è stato caricato o meno ?

    Per caricare post-pagina puoi già sfruttare HTTPRequest


    P.S. Xinod
    non volevo generare un flame, era per dire che modi semplici per fare la stessa cosa ce ne sono ... il nome menzionato è solo uno dei tanti, sorry.
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  9. #9
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    Originariamente inviato da andr3a
    non volevo generare un flame
    sicuramente, prevenivo eventuale reazione a catena

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.