Re: [Ovillo] Detectar si los estilos están activados o desactivados
Hola Ramón, Creo que este enlace te puede ayudar http://www.forosdelweb.com/f13/detectar-css-activado-con-js-544476/ Un saludo El 2011 abe 16, a las 03:01, Ramón Corominas escribió: Hola, buenas. Hablando con un compañero hoy por la mañana, nos preguntábamos si es realmente posible detectar que un usuario tiene los estilos desactivados. Por lo que he entendido, al desactivar los estilos en realidad no pasa nada a nivel de scripts, es decir, si aplicamos una propiedad de estilo con JS y testeamos su valor, nos devolverá la propiedad aplicada, aunque el navegador no la muestre aplicada. El caso concreto que quiero resolver es el siguiente, a ver si se os ocurre cómo hacerlo: Una página tiene los típicos botones de ampliar/reducir texto y para cambiar el contraste. Voy a suponer que sin scripts los botones actúan recargando la página y guardando los nuevos ajustes mediante cookies que definen qué estilos se cargan (lo sé, no es elegante, pero al menos funciona). El caso es que, si el usuario ha deshabilitado los estilos, estos botones no tienen ningún sentido, puesto que los estilos de fuentes grandes o de alto contraste tampoco se aplicarán. Así, si el usuario tiene los estilos desactivados, preferiría no mostrar siquiera los botones (cargármelos del DOM con JS). Así que... 1. Sí CSS - Sí JS: aparecen los botones, JS modifica dinámicamente los estilos y de paso guardo las preferencias para futuras páginas. 2. Sí CSS - Sí JS: aparecen los botones, y como no tengo JS recargo la página con los nuevos ajustes, que se guardan mediante una cookie escrita por un lenguaje de servidor 3. No CSS - Sí JS: si consigo detectar con JS que los estilos no están disponibles, me cepillo los botones para que no estorben, ya que no tendrán efecto... ¿O hago la cutrez de meter font size? x (es bromaaa) 4. No CSS - No JS: los botones los he tenido que meter hard-coded (para que pueda funcionar el caso 2), así que me aguanto y le muestro al usuario unos botones que no sirven para nada. Bueno, que no lo hubiera desactivado todo, ¡será troglodita! xD En fin, la pregunta es: ¿cómo resolver el caso 3? Y ya para nota, si a alguien se le ocurre cómo resolver también el caso 4, le doy un premio por salvar al troglodita Ryan. Saludín, Ramón. ___ 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://lists.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://lists.ovillo.org/mailman/listinfo/ovillo
Re: [Ovillo] Detectar si los estilos están activados o desactivados
2011/12/16 Ramón Corominas lis...@ramoncorominas.com: Hola, buenas. Hablando con un compañero hoy por la mañana, nos preguntábamos si es realmente posible detectar que un usuario tiene los estilos desactivados. Por lo que he entendido, al desactivar los estilos en realidad no pasa nada a nivel de scripts, es decir, si aplicamos una propiedad de estilo con JS y testeamos su valor, nos devolverá la propiedad aplicada, aunque el navegador no la muestre aplicada. Si no es en tiempo real, puede ser trivial. body { background-img: url(elusuarioutilizaCSS.php?respuesta=siamp;id_usuario=887); } Igual es mas peliagudo en tiempo-real, que la pagina misma sepa si ella misma tiene los CSS desactivados de alguna forma a algun nivel. var img = document.createElement(div); img.setAttribute(class,cambiafondo); body.appendChild(img); style .cambiafondo { background-image: url(si-usa-css.jpg); } /style mas tarde (no se cuando mas tarde, lo cual es un problema. Si fuera otra cosa, haria un img.onLoad = funciton, pero con esto no se, no puedo): var tenemosCSS = img.backgroundImage == si-usa-css.jpg; Ignoro si esta ultima linea funcionaria, ignoro si podemos testear esto y funciona,y si es consistente entre navegadores (quizas un navegador devuelva si-usa-css.jpg y otro http://www.server.com/si-usa-css.jpg ) 3. No CSS - Sí JS: si consigo detectar con JS que los estilos no están disponibles, me cepillo los botones para que no estorben, ya que no tendrán efecto... ¿O hago la cutrez de meter font size? x (es bromaaa) En fin, la pregunta es: ¿cómo resolver el caso 3? Y ya para nota, si a alguien se le ocurre cómo resolver también el caso 4, le doy un premio por salvar al troglodita Ryan. Molaria que hubiera un nocss igual que hay un noscript. -- -- ℱin del ℳensaje. ___ 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://lists.ovillo.org/mailman/listinfo/ovillo
Re: [Ovillo] Detectar si los estilos están activados o desactivados
postdata: 3. No CSS - Sí JS: si consigo detectar con JS que los estilos no están disponibles, me cepillo los botones para que no estorben, ya que no tendrán efecto... ¿O hago la cutrez de meter font size? x (es bromaaa) En fin, la pregunta es: ¿cómo resolver el caso 3? Y ya para nota, si a alguien se le ocurre cómo resolver también el caso 4, le doy un premio por salvar al troglodita Ryan. Molaria que hubiera un nocss igual que hay un noscript. Aqui se discute un tag nostyle http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-June/020475.html Y por culpa del odioso Nils Dagsson Moskopp no tenemos este tag. De todos modos igual la filosofia que se plantea (en este hilo) es malilla. Si CSS en un navegador web deberia estar siempre activado (cosa que no es cierta) = sacar los botones siempre, si alguien desactiva CSS, que le den por culo. Si CSS es algo opcional que se puede activar (esta afirmacion es posiblemente la cierta) = no mostrar los botones, excepto que de algun medio detectemos la presencia de CSS. Y con un unico if se solucionan todos los casos. Es binario, no hay 4 posibles casos, solo dos. -- -- ℱin del ℳensaje. ___ 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://lists.ovillo.org/mailman/listinfo/ovillo
Re: [Ovillo] Detectar si los estilos están activados o desactivados
Con jQuery A ver si esto te da alguna idea, puedes asignar clases o quitar según la condición de que un elemento tenga ya una asiganda if ( $j('.elemento').hasClass('miClase') ) { $j('.elemento').removeClass('miClase') }; if ( $j('.elemento').hasClass('miClase') ) { $j('.elemento').addClass('miOtraClase') }; -- Jairo Ochoa Dropbox: Almacenamiento gratis / Free online backup https://www.dropbox.com/referrals/NTg2Njc1MTg5 El 16 de diciembre de 2011 09:51, Tei oscar.vi...@gmail.com escribió: 2011/12/16 Ramón Corominas lis...@ramoncorominas.com: Hola, buenas. Hablando con un compañero hoy por la mañana, nos preguntábamos si es realmente posible detectar que un usuario tiene los estilos desactivados. Por lo que he entendido, al desactivar los estilos en realidad no pasa nada a nivel de scripts, es decir, si aplicamos una propiedad de estilo con JS y testeamos su valor, nos devolverá la propiedad aplicada, aunque el navegador no la muestre aplicada. Si no es en tiempo real, puede ser trivial. body { background-img: url(elusuarioutilizaCSS.php?respuesta=siamp;id_usuario=887); } Igual es mas peliagudo en tiempo-real, que la pagina misma sepa si ella misma tiene los CSS desactivados de alguna forma a algun nivel. var img = document.createElement(div); img.setAttribute(class,cambiafondo); body.appendChild(img); style .cambiafondo { background-image: url(si-usa-css.jpg); } /style mas tarde (no se cuando mas tarde, lo cual es un problema. Si fuera otra cosa, haria un img.onLoad = funciton, pero con esto no se, no puedo): var tenemosCSS = img.backgroundImage == si-usa-css.jpg; Ignoro si esta ultima linea funcionaria, ignoro si podemos testear esto y funciona,y si es consistente entre navegadores (quizas un navegador devuelva si-usa-css.jpg y otro http://www.server.com/si-usa-css.jpg ) 3. No CSS - Sí JS: si consigo detectar con JS que los estilos no están disponibles, me cepillo los botones para que no estorben, ya que no tendrán efecto... ¿O hago la cutrez de meter font size? x (es bromaaa) En fin, la pregunta es: ¿cómo resolver el caso 3? Y ya para nota, si a alguien se le ocurre cómo resolver también el caso 4, le doy un premio por salvar al troglodita Ryan. Molaria que hubiera un nocss igual que hay un noscript. -- -- ℱin del ℳensaje. ___ 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://lists.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://lists.ovillo.org/mailman/listinfo/ovillo
Re: [Ovillo] Detectar si los estilos están activados o desactivados
2011/12/16 Tei oscar.vi...@gmail.com: postdata: 3. No CSS - Sí JS: si consigo detectar con JS que los estilos no están disponibles, me cepillo los botones para que no estorben, ya que no tendrán efecto... ¿O hago la cutrez de meter font size? x (es bromaaa) En fin, la pregunta es: ¿cómo resolver el caso 3? Y ya para nota, si a alguien se le ocurre cómo resolver también el caso 4, le doy un premio por salvar al troglodita Ryan. Molaria que hubiera un nocss igual que hay un noscript. Aqui se discute un tag nostyle http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-June/020475.html Y por culpa del odioso Nils Dagsson Moskopp no tenemos este tag. De todos modos igual la filosofia que se plantea (en este hilo) es malilla. Si CSS en un navegador web deberia estar siempre activado (cosa que no es cierta) = sacar los botones siempre, si alguien desactiva CSS, que le den por culo. Si CSS es algo opcional que se puede activar (esta afirmacion es posiblemente la cierta) = no mostrar los botones, excepto que de algun medio detectemos la presencia de CSS. O bien que la forma clasica. Los botones estan por defecto ocultos, pero es CSS quien los hace aparecer. Solo haria falta un medio html de ocultar algo que se puede deshacer mediante css. -- -- ℱin del ℳensaje. ___ 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://lists.ovillo.org/mailman/listinfo/ovillo
Re: [Ovillo] Detectar si los estilos están activados o desactivados
2011/12/16 Tei oscar.vi...@gmail.com: 2011/12/16 Ramón Corominas lis...@ramoncorominas.com: Hola, buenas. Hablando con un compañero hoy por la mañana, nos preguntábamos si es realmente posible detectar que un usuario tiene los estilos desactivados. Por lo que he entendido, al desactivar los estilos en realidad no pasa nada a nivel de scripts, es decir, si aplicamos una propiedad de estilo con JS y testeamos su valor, nos devolverá la propiedad aplicada, aunque el navegador no la muestre aplicada. Si no es en tiempo real, puede ser trivial. body { background-img: url(elusuarioutilizaCSS.php?respuesta=siamp;id_usuario=887); } Igual es mas peliagudo en tiempo-real, que la pagina misma sepa si ella misma tiene los CSS desactivados de alguna forma a algun nivel. var img = document.createElement(div); img.setAttribute(class,cambiafondo); body.appendChild(img); style .cambiafondo { background-image: url(si-usa-css.jpg); } /style mas tarde (no se cuando mas tarde, lo cual es un problema. Si fuera otra cosa, haria un img.onLoad = funciton, pero con esto no se, no puedo): un apaño seria el siguiente: var div = document.createElement(div); div.setAttribute(class,cambiafondo); var img = document.createElement(div); img.setAttribute(src,si-usa-css.jpg); img.onload = function(){ var tenemosCSS = img.backgroundImage == si-usa-css.jpg; /* hacer algo aqui */ }; div.appendChild(img); body.appendChild(div); Esto es un poco buscando un momento adecuado para chequear si el jpg carga o no. Reconozco que es una idea un poco chunga. Pero quizas un punto de partida para otra idea. -- -- ℱin del ℳensaje. ___ 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://lists.ovillo.org/mailman/listinfo/ovillo
[Ovillo] Detectar si los estilos están activados o desactivados
Hola, buenas. Hablando con un compañero hoy por la mañana, nos preguntábamos si es realmente posible detectar que un usuario tiene los estilos desactivados. Por lo que he entendido, al desactivar los estilos en realidad no pasa nada a nivel de scripts, es decir, si aplicamos una propiedad de estilo con JS y testeamos su valor, nos devolverá la propiedad aplicada, aunque el navegador no la muestre aplicada. El caso concreto que quiero resolver es el siguiente, a ver si se os ocurre cómo hacerlo: Una página tiene los típicos botones de ampliar/reducir texto y para cambiar el contraste. Voy a suponer que sin scripts los botones actúan recargando la página y guardando los nuevos ajustes mediante cookies que definen qué estilos se cargan (lo sé, no es elegante, pero al menos funciona). El caso es que, si el usuario ha deshabilitado los estilos, estos botones no tienen ningún sentido, puesto que los estilos de fuentes grandes o de alto contraste tampoco se aplicarán. Así, si el usuario tiene los estilos desactivados, preferiría no mostrar siquiera los botones (cargármelos del DOM con JS). Así que... 1. Sí CSS - Sí JS: aparecen los botones, JS modifica dinámicamente los estilos y de paso guardo las preferencias para futuras páginas. 2. Sí CSS - Sí JS: aparecen los botones, y como no tengo JS recargo la página con los nuevos ajustes, que se guardan mediante una cookie escrita por un lenguaje de servidor 3. No CSS - Sí JS: si consigo detectar con JS que los estilos no están disponibles, me cepillo los botones para que no estorben, ya que no tendrán efecto... ¿O hago la cutrez de meter font size? x (es bromaaa) 4. No CSS - No JS: los botones los he tenido que meter hard-coded (para que pueda funcionar el caso 2), así que me aguanto y le muestro al usuario unos botones que no sirven para nada. Bueno, que no lo hubiera desactivado todo, ¡será troglodita! xD En fin, la pregunta es: ¿cómo resolver el caso 3? Y ya para nota, si a alguien se le ocurre cómo resolver también el caso 4, le doy un premio por salvar al troglodita Ryan. Saludín, Ramón. ___ 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://lists.ovillo.org/mailman/listinfo/ovillo
Re: [Ovillo] Detectar si los estilos están activados o desactivados
Corrección: el caso 2 es, obviamente, Sí CSS, no JS. Saludín, Ramón. ___ 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://lists.ovillo.org/mailman/listinfo/ovillo