Podridas hacer un par de cosas, te escribo el algoritmo chapucero y tu lo limpias :)

<title></title>
<script>
if    (readCookie("style")==null){
   document.write(<style importc .... (EL ESTILO POR DEFECTO) ...>
}
</script>
<body>

Con este código solo tendrías que comprobar q la coockie es null eso quiere decir que no tiene estilo definido, en el caso que lo tenga no inserta hoja de estilos, y al final cuando el window esta cargado la función lo carga. Podríamos insertar la hoja correcta directamente, pero podríamos meternos en problemas de carga del documento etc...

Espero  ayudarte aunque mi contestación ha sido un poco rapada.

Saludos.

Txuma Campos [altctrlsupr.com] wrote:

A ver, una pregunta para los que controláis de JS.

Estoy implementanto el StyleSwitcher de AlistApart [1] en un proyecto. Para quien no lo sepa, es un sistema que permite cargar mediante Javascript hojas de estilo alternativas (os pongo también al final del email la traducción al castellano del artículo [2] y un enlace directo para que descarguéis el script [3]). Entre las funcionalidades de este sistema está guardar en una cookie el valor de la última hoja de estilos elegida por el usuario para que, al recargar la página o moverte por otras página del sitio, automáticamente aplique esa hoja.

El problema que me surge es que el evento que carga la hoja es un window.onload.

window.onload = function(e) {
var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);
}

Esto produce un pequeño efecto de 'parpadeo', es decir, primero aplica la hoja de estilos por defecto y cuando el documento termina de cargar aplica la hoja almacenada en la cookie.

El propio artículo dice que esto podría cambiarse para que el documento se muestre directamente con la hoja alternativa, pero por más que lo intento no sé cómo conseguirlo. A ver si alguien puede echarme una mano.

Un saludo a todos

[1] http://www.alistapart.com/articles/alternate/
[2] http://kusor.net/traducciones/ala.es/alternate/
[3] http://www.alistapart.com/d/alternate/styleswitcher.js

_______________________________________________
Lista de distribución Ovillo
Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org
Puedes modificar tus datos o desuscribirte en la siguiente dirección: http://ovillo.org/mailman/listinfo/ovillo



_______________________________________________ Lista de distribución Ovillo Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org Puedes modificar tus datos o desuscribirte en la siguiente dirección: http://ovillo.org/mailman/listinfo/ovillo

Responder a