2010-09-04 27 views
8

¿Hay alguna forma de eliminar todas las reglas de CSS una vez que las hojas de estilos ya se hayan cargado?Eliminar todas las reglas de CSS

Tengo que usar una biblioteca de JavaScript patentada (ESRI's ArcGIS Server API) que está construida encima de Dojo. Hago un uso extensivo de los widgets de Dojo y me gustaría usar el tema claro de Dojo, pero desafortunadamente la biblioteca ESRI corta el CSS cargando archivos CSS fuera del sitio (y probablemente reglas CSS codificadas en el JS). Esto termina destrozando el tema de Claro.

Tan muchas clases CSS de widget de Dojo se vuelven a escribir y se crean nuevas reglas que simplemente borrar todas las CSS y volver a cargar las hojas de estilo de Dojo parece más fácil/más seguro.

algo como lo siguiente sería bueno:

* {none} 

pero calculo que tendré que acabar usando ya sea Dojo o jQuery para lograr esto.

Respuesta

4

la salida de este bookmarklet llamado por RefreshCSS Paul irlandés:

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())}}})() 

Actualiza las hojas de estilo CSS en una página, sin actualizar la página.

Creo que podría hacerle algunas modificaciones y hacer que haga lo que quiera.

Otro enfoque usando jQuery que podría funcionar es ejecutar este una vez que la página se ha cargado:

$('head link, head style').remove();

+0

No sé por qué, pero en su código hay algunos caracteres escapados como < y &. Aquí está el código (con suerte correctamente formateado): 'javascript: (function() {var h, a, f; a = document.getElementsByTagName ('link'); for (h = 0; h Philipp

0

Siempre hay document.head.innerHTML = ""; Pero realmente limpia la casa por lo que tiene, para guardar cualquier script, metatags, títulos o lo que quieras guardar y agregarlos de nuevo.

Cuestiones relacionadas