Disabilitare Mootools e caption.js dal frontend di Joomla 1.5 |
21-12-2009 10:07

Mi è capitato spesso di chiedermi: "perchè mai devo caricare una libreria javascript non compressa che pesa 73 KB che rallenta sensibilmente le mie pagine se non mi serve?".
Personalmente trovo veramente RIDICOLO che mootools.js e caption.js vengano caricati di default in tutte le pagine del sito e che non ci sia ancora un'opzione che consenta nativamente di disattivarli dal backend di Joomla.
Evitiamo fraintendimenti: Mootools è un framework javascript grandioso.
L'ultima versione, attualmente la 1.2.4, pesa 65 KB compressa.
È abbastanza raro che un sito carichi la versione completa di mootools.
Solitamente gli sviluppatori selezionano le parti del framework di cui hanno bisogno ed esportano un file di dimensioni molto minore.
Joomla 1.5 invece carica la versione 1.12 completa (73 KB) in tutte le pagine del frontend, anche dove non ce n'è bisogno.
Vediamo quindi due modi semplici ed efficaci per rimuovere questi due script laddove non servono.
Rimuovere mootools.js e caption.js modificando il template
Questo codice disabilita gli script mootools.js e caption.js solo dal frontend e da tutti gli articoli di contenuto.
Gli script vengono caricati invece nelle altre pagine del sito dove potrebbero servire, come ad esempio la pagina di registrazione.
Il codice va inserito nell'head del template in uso.
<?php $menu = &JSite::getMenu(); $view = JRequest::getVar('view'); $homepage = ($menu->getActive() == $menu->getDefault() && $view == 'frontpage'); $user =& JFactory::getUser(); $head = $this->getHeadData(); if (($homepage || ($view == 'category')) && ($user->get('guest') == 1 || $user->usertype == 'Registered')){ foreach($head['scripts'] as $key => $value){ if(preg_match('/mootools/', $key)) unset($head['scripts'][$key]); if(preg_match('/caption/', $key)) unset($head['scripts'][$key]); } } $this->setHeadData($head); ?> <jdoc:include type="head" />
Utilizzare un plugin: "Javascript Control" o "Mootools Control"
Ricercando informazioni sull'argomento ho trovato due plugin che permettono di risolvere il problema senza dover ricorrere a modifiche del codice del template.
Questi plugin sono Javascript Control e Mootools Control.
Conclusione: una speranza per Joomla 1.6
Seguendo questi consigli riuscirete a disabilitare gli script mootools.js e caption.js.
Tuttavia, spero che nelle prossime versioni a partire da Joomla 1.6 questo probllema venga risolto nativamente e definitivamente.
Federico Capoano è un freelance web designer / web developer proveniente da Roma che attualmente vive in Spagna, nelle Isole Baleari. Ideatore e fondatore di Joomlashow.it, gestisce una piccola impresa individuale che offre servizi di web design e web development conosciuta come "Nemesis Design".
Puoi tenerti aggiornato su nuovi articoli e tips & tricks su Joomla seguendolo su Twitter.
Commenti utenti
Visualizza 9 di 9 commenti
Aggiungi il tuo commento
| Successivo › |
|---|















Mootools
Gentilmente mi spiegheresti in poche parole cosa serve?
Magari nel mio sito non serve a nulla e lo posso disattivare definitivamente e alleggerire il tutto :)
Grazie
stefano
Scritto da: stefano riga75 (Guest) 23-12-2009 18:30