11
votes

Comment pourrais-je "éteindre" une feuille de style?

Je crée un site Web pour une mission universitaire et nous devons nous concentrer sur les fonctions d'accessibilité. J'ai réussi à utiliser les boutons de texte Redimensionner, mais je cherche un moyen d'éteindre un fichier CSS via un bouton ou un lien.

J'ai fouillé le filet et je ne peux pas sembler trouver beaucoup, j'ai trouvé un bon site web qui avait le bouton que je cherche si frappé F12, mais cela ne afficherait pas le JavaScript pour cela.

Idéalement, je voudrais y parvenir sans l'utilisation de JavaScript, mais s'il n'y a pas d'autre moyen, je suis ouvert à toute aide que je peux obtenir.

Je suis désolé si c'est une question simple, mais j'ai vraiment l'air difficile pour une réponse, mais en vain, je ne suis qu'un étudiant de première année, alors j'ai un long chemin à parcourir!


0 commentaires

4 Réponses :


4
votes

Vous pouvez le faire du serveur lorsque l'utilisateur clique sur un lien "spécial", votre code latéral du serveur "saute" les éléments de feuilles de style.


7 commentaires

Cette méthode est probablement meilleure car le navigateur aura moins à analyser.


@Tyler Crompton: Il ne s'agit pas d'être "plus léger" sur le navigateur, mais avec une accessibilité. Si vous devez désactiver le CSSS (une situation très particulière, peut-être un utilisateur mpaired avec un navigateur spécial?) Vous ne pouvez pas supposer que le navigateur est capable de gérer JavaScript.


Le terme technique est styleswitcher Je pense (si vous devez ajouter que vous devez ajouter serveur afin d'éviter les solutions JS).


@kappa, je n'ai jamais mentionné JavaScript. Cependant, voyant qu'il s'agit d'un étudiant d'un collège de première année qui fait cela pour une mission, je suppose qu'il sera incapable de script de côté serveur. Donc cela le met dans un cornichon.


@Tyler Crompton: Dans quelle mesure parle-t-on alors? Je suis sérieux à ce sujet, j'ai écrit JavaScript parce que je ne pensais pas à ce que d'autre pourrait être "lourd" sur le navigateur, alors je suis curieux. oo "


@kappa: Si vous définissez une variable en PHP, par exemple, vous pouvez utiliser la variable dans une instruction IF pour déterminer si une feuille de style est envoyée au navigateur. Par conséquent, le navigateur ignorera tout ce qui est de toujours être là et ne pas avoir à s'inquiéter de l'analyse de CSS qui ne sera même pas utilisée.


@Tyler: Oh, je vois maintenant, j'ai lu votre commentaire dans l'autre sens, je pensais que tu avais dit que cette façon était plus légère sur le navigateur que l'autre s'appuyant sur le navigateur pour désactiver les feuilles de style (comme les solutions JS postées ici) . oo



7
votes

Voici un bon moyen de le faire rapidement de JavaScript:

  1. précède toutes vos règles CSS avec la balise corps.Enabled : XXX

  2. Déclarez votre balisage comme tel: XXX

  3. Dans votre JavaScript, lorsque vous souhaitez désactiver le CSS, supprimez la classe "activé" dans le et le basculer avec autre chose (disons , "désactivée"). Utilisez toute la méthodologie que vous voyez bien pour le faire (JQuery rendrait cela facile, mais cela peut être fait sans)

    Vous n'êtes vraiment pas vraiment désactivé CSS en utilisant ceci, vous en faites simplement pour qu'aucun de cela ne s'applique. Du point de vue d'un utilisateur, ils ne sauront probablement pas la différence.


0 commentaires

31
votes

Cela devrait fonctionner

for ( i=0; i<document.styleSheets.length; i++) {
    void(document.styleSheets.item(i).disabled=true);
}


4 commentaires

Puis-je avoir votre permission de l'utiliser? Si vous êtes d'accord, je vais vous mettre «accepter» dans mon rapport.


@Phil: Tout posté ici est sous la licence Creative Commons "Attribut" (voir le bas de la page) afin de ne pas avoir à demander la permission. :)


@Johngiotta pourquoi utilisez-vous void () ici?


@xaviervalarino Il y a si longtemps, je ne me souviens pas, mais le vide ne fera que terminer le retour de Boolean retourné.



0
votes

essayez-vous d'immerger chaque fonctionnalité déjà conçue dans les navigateurs (T +, T-, pas de CSS)? Avez-vous été invité à créer un site Web accessible ou spécifiquement pour mettre en œuvre des fonctionnalités d'accessibilité? Je comprends que ceci est une mission mais c'est une perte de temps imho, un temps qui serait mieux dépensé pour la mise en œuvre de la recommandation WCAG 2.0. (J'utilise le méthodologie "accessiweb" beaucoup). < / p>

Ma première idée était de déconstruire le CSS existant comme Universal IE6 fait pour IE6 (vous devez simplement supprimer les commentaires conditionnels et visez à chaque navigateur) mais @Kappa Solution semble mieux que dans les deux cas, vous devez avoir accès au code source.


0 commentaires