Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    importazione JS in HEAD

    Ciao a tutti,
    ho due serie di JS da importare all'interno del tag HEAD (non è possibile importarli successivamente); la prima serie in caso di browser standard, la seconda in caso di dispositivi mobile.

    mi servirebbe qualcosa del tipo:
    Codice PHP:
    if(jQuery.browser.mobile){
           
    DOCUMENT.WRITE('<script type="text/javascript" src="js/FILE1.js"></script>');
    }else .... 
    Come posso fare?
    Grazie &

  2. #2
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    codice:
    var importScript = (function (oHead) {
    
    	function loadError (oError) {
    		throw new URIError("Lo script " + oError.target.src + " non è raggiungibile.");
    	}
    
    	return function (sSrc, fOnload) {
    		var oScript = document.createElement("script");
    		oScript.type = "text\/javascript";
    		oScript.src = sSrc;
    		oScript.onerror = loadError;
    		if (fOnload) { oScript.onload = fOnload; }
    		oHead.appendChild(oScript);	
    	}
    
    })(document.getElementsByTagName("head")[0]);
    
    importScript("tuoScript1.js");
    importScript("tuoScript2.js", function () { alert("Se vedi questo alert significa che lo script è stato caricato correttamente."); });
    Tutto ciò che fai con jQuery puoi farlo meglio e con la metà del codice in puro JavaScript.

  3. #3
    Ciao, ho provato (in realtà avevo già provato una soluzione simile) ma non funziona in quanto viene eseguita una volta che il tag HEAD è già stato completato, ovvero nel body della pagina.
    Invece a me servirebbe proprio qualcosa che agisse nell'HEAD, prima della compilazione completa della pagina.

  4. #4
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    È facile dimostrarti il contrario...

    codice:
    <!doctype html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Documento HTML</title>
    <script type="text/javascript">
    var importScript = (function (oHead) {
    
    	function loadError (oError) {
    		throw new URIError("Lo script " + oError.target.src + " non è raggiungibile.");
    	}
    
    	return function (sSrc, fOnload) {
    		var oScript = document.createElement("script");
    		oScript.type = "text\/javascript";
    		oScript.src = sSrc;
    		oScript.onerror = loadError;
    		if (fOnload) { oScript.onload = fOnload; }
    		oHead.appendChild(oScript);	
    	}
    
    })(document.getElementsByTagName("head")[0]);
    
    importScript("tuoScript1.js");
    importScript("tuoScript2.js", function () { alert("Se vedi questo alert significa che lo script è stato caricato correttamente."); });
    </script>
    <script type="text/javascript">
    alert("Questo alert si trova dentro l\'head e viene lanciato DOPO l'avvio del caricamento degli script");
    </script>
    </head>
     
    <body>
    </body>
    </html>
    Soprattutto i nuovi script NON vengono appesi al body, ma all'head, PRIMA che il caricamento sia completato. Puoi fare tutte le prove del mondo, ti dimostreranno quello che dico.
    Tutto ciò che fai con jQuery puoi farlo meglio e con la metà del codice in puro JavaScript.

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.