Visualizzazione risultati 1 fino 2 di 2

Discussione: Includere file Javascript

  1. #1
    Guest

    Question Includere file Javascript

    Salve a tutti!
    Conosco già i metodi

    Codice:
    <script type="text/javascript" language="javascript" src="javascript.js"></script>
    
    <link rel="stylesheet" type="text/css" href="style.css" />
    ma volevo provare qualcosa di nuovo.
    Vorrei creare un file .Js che include pagina esterne (e interne) al sito anch'esse .Js
    Con i CSS si può fare, basta creare un file .CSS e fare

    Codice:
    @import "style.css";
    Ma con i Javascript è possibile?

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

    Predefinito

    Si, se crei una funzione apposita puoi farlo.
    Ti posto una funzione ( non per fare lo spammone ma la trovi sul mio blog )
    Codice:
    function $import(uri, no_cache) {
    	if(!uri) {
    		return false;
    	}
    
    	no_cache = no_cache || false;
    	var ele, match, regexp = /\.(js|css)$/, type, head = document.getElementsByTagName("head")[0] || false;
    
    	if(typeof uri === "object") {
    		var r = false;
    
    		for(var j = 0; j < uri.length; j++) {
    			r = $import(uri[j], no_cache);
    		}
    
    		return r;
    	}
    
    	match = regexp.exec(uri);
    	type = (match) ? match[1] : true;
    
    	if(no_cache === true) {
    		var time = new Date().getTime();
    
    		if(uri.indexOf("?") > -1) {
    			uri += "&" + time;
    		} else {
    			uri += "?" + time;
    		}
    	}
    
    	switch(type) {
    		case "js": default:
    			ele = document.createElement("script");
    			ele.setAttribute("type", "text/javascript");
    			ele.setAttribute("src", uri);
    		break;
    
    		case "css":
    			ele = document.createElement("link");
    			ele.setAttribute("rel", "stylesheet");
    			ele.setAttribute("type", "text/css");
    			ele.setAttribute("href", uri);
    		break;
    	}
    
    	if(head !== false) {
    		head.appendChild(ele);
    		return true;
    	}
    
    	return false;
    }
    Con questa funzione puoi anche importare un file.css, una volta inclusa basta usare:
    Codice:
    $import('file.js');
    $import('file2.js', true); // carica file2.js senza cache
    $import(['file.js', 'file2.js', 'file3.css']); // importa più files sia js che css
    Spero sia utile.

Tags for this Thread

Regole di scrittura

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