Question

Dans la méthode de rendu d'un contrôle Web ASP.NET, je dois modifier la sortie du code HTML en fonction de l'activation ou non de JavaScript dans le navigateur du client,

.

Quelqu'un connaît-il la bonne incantation pour résoudre ce problème?

Était-ce utile?

La solution

Le problème lié à l'utilisation d'un script pour vérifier si javascript est activé est que vous ne le découvrez que lorsque le script n'a pas été exécuté.

Certaines solutions essaient le contraire: elles utilisent javascript pour définir une valeur, puis fournissent des contrôles Javascript activés si cette valeur est détectée ultérieurement. Cependant, cela échoue avec des outils javascript-parfois-activé comme le plugin Firefox NoScript.

Une solution plus robuste consiste à toujours envoyer le contrôle compatible HTML simple, puis à faire exécuter javascript lors du chargement de la page pour ajouter les gestionnaires d'événements / éléments DOM supplémentaires / etc appropriés

.

Cependant, je ne sais pas comment cela s’intègre dans l’approche ASP.NET des contrôles.

Autres conseils

La balise noscript est utilisée pour définir un autre contenu (texte) si le script n'est PAS exécuté.

EDIT: Bonjour Kieron, consultez ce lien: Création d'un contrôle de serveur pour les tests JavaScript et Détecter si JavaScript est activé dans ASPX

Le navigateur ne communique pas la disponibilité de Javascript avec la requête.

Une chose que j’ai faite, même si je ne suis pas sûr que cela soit applicable dans votre cas, est de générer la page comme si le Javascript n’était pas activé, puis d’avoir du Javascript qui désactive le contenu HTML uniquement et active le Trucs HTML-Javascript.

La première page peut également être consultée, "téléphone à la maison". via Javascript pour enregistrer dans la session si Javascript est activé ou non.

C’est un moyen de vérifier le moment où un formulaire est soumis.

http://www.4guysfromrolla.com/webtech/082400-1.shtml

Je ne pense pas qu'il y ait une propriété Request qui vous dira quand la page est demandée pour la première fois. Il existe une propriété qui vous dira si le navigateur prend en charge JS, mais pas si elle est activée. Voir ici

Voici ce que vous devez faire. Après de nombreux essais et des soirées tardives, j'ai décidé d'utiliser la solution la plus simple. Faites glisser une étiquette vers le haut de la page et assurez-vous qu’elle lit "Exécuter sur le serveur". Ensuite, pour l’attribut Text, mettez Text = "Ce site Web nécessite Javascript". Cela devrait être la meilleure réponse. : D

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top