Sto lavorando ad un'applicazione abbastanza complessa, e per tenere le cose in ordine vorrei non dover includere tutte le dipendenze javscript nel file html, vorrei invece che in ognuno dei miei file js includo solo le cose che realmente mi servono. Vorrei diciamo una cosa molto simile all'import di java.
Ho provato ad abbozzare una roba del genere:
Codice PHP:
var JSLOADER = {};
JSLOADER.load = function (jsname, pos) {
var th = document.getElementsByTagName(pos)[0];
var s = document.createElement('script');
s.setAttribute('type','text/javascript');
s.setAttribute('src',jsname);
th.insertBefore(s, document.getElementsByTagName ("script")[0]);
};
JSLOADER.head = "head";
JSLOADER.body = "body";
JSLOADER.jquery = "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js";
JSLOADER.jqueryUI = "http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/jquery-ui.min.js";
JSLOADER.hoverIntent = "http://cherne.net/brian/resources/jquery.hoverIntent.minified.js";
e poi nel mio JS scrivo ad esempio
Codice PHP:
JSLOADER.load ("resources/js/main.js", JSLOADER.head);
JSLOADER.load (JSLOADER.hoverIntent, JSLOADER.head);
JSLOADER.load ("resources/js/utilities/jquery.url.js", JSLOADER.head);
JSLOADER.load (JSLOADER.jqueryUI, JSLOADER.head);
JSLOADER.load (JSLOADER.jquery, JSLOADER.head);
JSLOADER.load ('resources/js/json-support.js', JSLOADER.head);
//A questo punto mi aspetterei di poter usare JQuery
$(document).ready(function(){
//...
});
Pero' non funziona. Nonostante con firebug io veda che gli elementi <script> sono correttamente aggiunti al DOM, ricevo un errore quando cerco di usare JQuery. Quindi assumo che nonostante i tag siano li' il codice javascript non venga scaricato e interpretato dal browser.
C'e' un modo di ottenere quello che voglio?