Rimuovere tutte le regole CSS
-
30-09-2019 - |
Domanda
C'è un modo per spazzare via tutte le regole CSS una volta i fogli di stile sono già state caricate?
Devo usare una libreria JavaScript proprietario ( API ArcGIS Server di ESRI ) che è costruito sulla cima di Dojo. Mi fanno largo uso di widget di Dojo e vorrei utilizzare il tema claro del Dojo, ma purtroppo le mungs biblioteca ESRI il CSS da carico in off-site file CSS (e probabilmente CSS governa hard-coded nel JS). Questo finisce per pressare il tema Claro.
Così molti Dojo widget di classi CSS vengono riscritti e nuove regole ottenere creato che appena spazzare via tutti i CSS e ricaricare i fogli di stile standard di Dojo sembra più facile / più sicuro.
Qualcosa di simile a quanto segue sarebbe bello:
* {none}
Ma immagino che dovrò finire utilizzando Dojo o jQuery per raggiungere questo obiettivo.
Soluzione
controllare questo bookmarklet chiamato RefreshCSS da Paul Irish:
javascript:(function(){var h,a,f;a=document.getElementsByTagName('link');for(h=0;h<a.length;h++){f=a[h];if(f.rel.toLowerCase().match(/stylesheet/)&&f.href){var g=f.href.replace(/(&|%5C?)forceReload=\d+/,'');f.href=g+(g.match(/\?/)?'&':'?')+'forceReload='+(new Date().valueOf())}}})()
Rinfresca i fogli di stile CSS di una pagina, senza aggiornare la pagina stessa.
Credo che si potrebbe fare alcune modifiche ad esso e arrivare a fare ciò che si vuole?
Un altro approccio utilizzando jQuery che il lavoro potrebbe è quello di eseguire una volta caricata la pagina:
$('head link, head style').remove();
Altri suggerimenti
No. Purtroppo, una cosa del genere non esiste.
Le risposte a queste domande relative danno praticamente la carrellata su ciò che è possibile in termini di soluzioni alternative.
C'è sempre document.head.innerHTML = "";
Ma davvero pulisce casa in modo da avere per riporre gli script, metatag, titoli o qualsiasi altra cosa che si desidera salvare e aggiungere di nuovo.