Visualizzazione dei risultati da 1 a 9 su 9

Discussione: includere file .js

  1. #1

    includere file .js

    Ciao a tutti!!!

    sto lavorando ad una pagina .js dove gestisco gli eventi..
    avrei bisogno, allo scatenarsi di un evento, di includere una pagina esterna (sempre un file .js) dove ho delle funzioni che vorrei utilizzare in quel momento!?

    come posso fare??
    Grazie mille!!
    Ristoranti Roma
    http://www.ristorantiromaristo.it
    info@ristorantiromaristo.it

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    83
    codice:
    <script type="text/javascript" src="nome file da includere.js"></script>
    ,
    nel file in cui stai lavorando, quando necessario richiama le funzioni.
    Oppure ricopia direttamente le funzioni interessate nel file in considerazione.

  3. #3
    grazie di avermi risposto..

    non riesco ad utilizzare il codice che mi hai postato in quanto la pagina su cui posso agire è un file .js e non vorrei copiare le funzioni in questa pagina, in quanto vorrei tenerla "leggera" siccome la dovro utilizzare per l'intera applicazione e vorrei includere le funzioni di cui ho bisogno, solo nel momento del bisogno..

    come mi consigli di strutturare la cosa?
    Ristoranti Roma
    http://www.ristorantiromaristo.it
    info@ristorantiromaristo.it

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    83
    Si hai ragione , scusami ma no ho letto attentamente.
    Effettivamente è molto complicato fare questa cosa , ma non certo impossibile , io piuttosto che cercare di richiamare una funzione farei giungere i risultati dall' esterno,
    cioè porterei i risultati di una funzione in una pagina dove poi è possibile pescarli anche tramite un altro file js.

  5. #5
    ti do qualche info più di come è strutturata la mia applicazione
    (considera che sto agl inizi).

    in questa pagina .js dove sto lavorando gestisco il click nel menu laterale di sinistra, e a seconda del click mi faccio ritornare dal php, tramite una richiesta ajax, dei valori.

    Dunque i risultati mi giungono dall'esterno, ora però ho bisogno di una funzione javascript che prenda questi valori e crei l'oggetto e nn vorrei inserire direttamente qui questa funzione, visto che magari l'utente puo anche cliccare su un'altra voce di menu, quindi avrei passato al browser una funzione che non serve.
    Ristoranti Roma
    http://www.ristorantiromaristo.it
    info@ristorantiromaristo.it

  6. #6
    La cosa non è affatto complicata, puoi utilizzare un codice del genere:
    codice:
    var loader = document.createElement("script");
    loader.type = "text/javascript";
    loader.src = "script.js";
    document.head.appendChild(loader);
    In pratica crei un nuovo tag script, che carica lo script "script.js", poi lo aggiungi direttamente al tag head della pagina html, in modo che sia caricato immediatamente.
    L'unico problema è che in questo modo, le funzioni contenute nel file saranno disponibili solo a caricamento completato. Puoi però intercettare facilmente il caricamento con l'attributo onload:
    codice:
    var loader = document.createElement("script");
    loader.type = "text/javascript";
    loader.src = "script.js";
    loader.onload = eseguifunzione;
    document.head.appendChild(loader);
    
    function eseguifunzione()
    {
     funzione_contenuta_nel_file_caricato();
    }
    o, ancora più semplicemente:

    codice:
    var loader = document.createElement("script");
    loader.type = "text/javascript";
    loader.src = "script.js";
    loader.setAttribute("onload", "funzione_contenuta_nel_file_caricato();");
    document.head.appendChild(loader);
    Non l'ho provato, ma penso che funzioni.
    Spero di esserti stato utile!
    Fammi sapere!

  7. #7
    Grazie dell'aiuto ora sono riuscito!!

    Un paio di cose:

    non mi funziona document.head (in firebug mi dice "indefinito") ed ho dovuto utilizzare:
    document.body .appendChild(loader);
    non so se va bene lo stesso o c'è qualcosa che non torna..

    inoltre, la funzione che vado a creare nel DOM, se la modifico, e faccio il refresh della pagina, non sente le modifiche! devo cancellare la cronologia per vedere i cambiamenti..

    Questo significa che il DOM non viene distrutto o aggiornato al refresh??

    Una volta utilizzate queste funzioni le devo distruggere??

    grazie mille!!!
    Ristoranti Roma
    http://www.ristorantiromaristo.it
    info@ristorantiromaristo.it

  8. #8
    up
    Ristoranti Roma
    http://www.ristorantiromaristo.it
    info@ristorantiromaristo.it

  9. #9
    Putroppo mi sono accorto che tutto questo:

    var loader = document.createElement("script");
    loader.type = "text/javascript";
    loader.src = "script.js";
    loader.setAttribute("onload", "funzione_contenuta_nel_file_caricato();");
    document.body.appendChild(loader);


    funziona perfettamente su firefox, mentre su internet explore non da errori ma non visulaizza nulla??
    qualcuno sa dirmi come posso risolvere la cosa e far in modo che tutta la procedura sia visibile anche su IE ?

    Grazie mille!!
    Ristoranti Roma
    http://www.ristorantiromaristo.it
    info@ristorantiromaristo.it

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.