Visualizzazione risultati 1 fino 4 di 4

Discussione: @import url in JavaScript

  1. #1
    Guest

    Predefinito @import url in JavaScript

    Salve a tutti!
    So che è possibile includere più file .css in un'unico scrivendo in questo
    Codice:
    @import url(link.css);
    e includendo nell'HEAD il file che contiene tutti gli import url.

    Ora mi chiedo.. E' vantaggiosa questa cosa? Io la uso per "pulire" l'HEAD del sito.
    E poi.. è possibile fare questa cosa anche con i JavaScript?
    Intendo, creando un file .Js che includa altri file .Js, proprio come la funzione @import url di CSS?

    EDIT: Ho letto altre discussioni (CLICCAMI) ma.. è possibile soltanto creando prima la funzione in php?
    Ultima modifica di bizeey : 02-07-2010 alle ore 19.07.11

  2. #2
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Citazione Originalmente inviato da bizeey Visualizza messaggio
    EDIT: Ho letto altre discussioni (CLICCAMI) ma.. è possibile soltanto creando prima la funzione in php?
    Php?
    Cosa centra php?

    In quel messaggio c'è soltanto codice javascript.
    Ti basta creare un file .js che contiene il codice ed includerlo nel sito:
    Codice HTML:
    <script type="text/javascript" src="file.js"></script>
    <script type="text/javascript">
    /* <![CDATA[ */
    $import('altro_file.js');
    /* ]]> */
    </script>

  3. #3
    Guest

    Predefinito

    Scusa! Non avevo letto bene, mea culpa
    Comunque funziona, grazie^^

    Tornando alla domanda iniziale.. ci sono difetti del tipo tempi di caricamento pagina etc?

  4. #4
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    L'unico problema che potresti riscontrare, ad esempio:
    Codice:
    $import('file_che_ci_impiega_tanto_a_caricare.js');
    funzione_definita_nel_file_qui_sopra(); // potrà risultare non definità dato che il file qui sopra sta ancora caricando.
    Se questa funzione la userai soltanto per importare codici javascript puoi usare:
    Codice:
    function $import(url, cache, cb) {
    	var script = document.createElement('script');
    	script.src = cache !== false ? url : url.lastIndexOf('?') > -1 ? url + '\&' + new Date.getTime() : url + '?' + new Date().getTime();
    	script.type = 'text/javascript';
    
    	if(typeof cb === 'function') {
    		script.onreadystatechange = function () {
    			if(this.readyState === 'complete')
    				(cb)();
    		}
    
    		script.onload = cb;
    	}
    
    	document.getElementsByTagName('head').item(0).appendChild(script);
    
    }
    Questa funzione, richiede 3 parametri:
    • L'url dello script
    • Se usare la cache o meno, boolean ( true => usa la cache, false => non usa la cache)
    • Callback, funzione da richiamare quando il file è stato caricato


    E rifancedo l'esempio scritto poco sopra:
    Codice:
    $import('file_che_ci_impiega_tanto_a_caricare.js', true, function() {
    	funzione_file(); // funzionerà dato che questo codice verrà eseguito soltanto al caricamento dello script
    });

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •