Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    eseguire codice javascript restituito da una chiamata ajax

    tanto tempo fa usavo questa procedura per eseguire codice javascript restituito da una chiamata ajax:

    codice:
    function execJSNS(t)
    {
        var s = document.createElement("script");
        s.type = "text/javascript";
        s.text = t;
        document.getElementsByTagName("head")[0].appendChild(s);
    
    }
    adesso ho visto che può bastare mettere
    codice:
    Eval(t);
    la domanda è quale è il più corretto, e se esiste un modo migliore
    ciao
    Pietro

  2. #2
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Non esiste un metodo più corretto, esiste un metodo più performante. E, in generale, è sempre più performante evitare l'uso di eval(), che agisce sullo script corrente.
    Tutto ciò che fai con jQuery puoi farlo meglio e con la metà del codice in puro JavaScript.

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Perfetto. Giusto per assicurarmi di aver capito bene:
    la risposta ad una richiesta Ajax è una serie di istruzioni javascript che debbono essere eseguite. Cosa debbo usare se non eval?
    Pietro

  4. #4
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Quote Originariamente inviata da pietro09 Visualizza il messaggio
    Cosa debbo usare se non eval?
    Questo è solo un possibile esempio…

    codice:
    function createScript (sContent) {
        var oScript = document.createElement("script");
        oScript.type = "text\/javascript";
        oScript.text = sContent;
        (document.head || document.getElementsByTagName("head")[0]).appendChild(oScript);
    }
    e, all'interno di AJAX…:

    codice:
    createScript(this.responseText);
    P.S. Se devi eseguire altro codice dopo il caricamento del nuovo script, devi appendergli una funzione di onload.
    Tutto ciò che fai con jQuery puoi farlo meglio e con la metà del codice in puro JavaScript.

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    grazie. Ciao.
    Pietro

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.