2010-10-29 4 views
1

Je souhaite vérifier si un navigateur pour mobile a activé javascript avant d'afficher une page pour l'utilisateur. Le code que j'ai trouvé de mes recherches est:Détection si JavaScript est activé sur un navigateur mobile dans ASP.Net

System.Web.HttpBrowserCapabilities browser = Request.Browser; 
Response.Write(browser.EcmaScriptVersion.ToString()); 

Donc, pour faire en sorte que le javascript est activé sur un navigateur, vous devez vérifier wheather la valeur est soit retourné égale ou supérieure à 1. Cela fonctionne sur la normale les navigateurs, mais quand je le teste sur mon téléphone, la valeur retournée est toujours 0.0, peu importe si mon javascript est activé ou désactivé.

Existe-t-il un moyen de vérifier si le javascript est activé sur un navigateur mobile ou le navigateur gère-t-il l'incapacité par lui-même?

Répondre

2

J'ai eu exactement le même problème moi-même. Nous avons fini par écrire un petit morceau de javascript qui définirait la valeur d'une variable cachée dans un formulaire à 1, et renvoyer immédiatement au serveur sur une page d'accueil, puis stocké cet indice dans la session.

son pas fantastique, mais entre tous les différents navigateurs mobiles, et les différents problèmes que nous avons trouvé avec eux, il était le seul que nous puissions répondre à

+0

Cela me semble être un plan logique. Si la valeur est 1 c'est activé, sinon il ne pourrait pas faire la modification et javascript est désactivé. Laissez-moi l'essayer et vous revenir dessus. –

+0

Vous devez faire attention, car de nombreux navigateurs pourraient supporter ce test, mais ils ne pourraient pas supporter d'autres fonctionnalités – fravelgue

1

Si vous souhaitez utiliser ASP.NET pour essayer de déterminer Ceci, assurez-vous que vous utilisez la dernière version du Mobile Device Browser File. Sans cela, ASP.NET a un support très limité pour détecter les navigateurs mobiles. Cependant, la seule façon fiable de détecter le support du navigateur est de le faire sur la page (dans le navigateur). Le mieux que le serveur pourrait dire serait si le navigateur a un support pour JavaScript mais ne sait pas si l'utilisateur l'a désactivé dans les paramètres du navigateur. Lors de l'implémentation pour le Web mobile, vous devez également savoir que différents navigateurs n'implémentent pas toutes les fonctionnalités de JavaScritp. Cela signifie que deteccting javascript peut ne pas suffire. Vous devez tester la fonctionnalité individuelle que vous recherchez. Ceci ne peut absolument pas être fait par une quelconque base de données de capacité de périphérique côté serveur actuellement disponible.

Regardez pour utiliser l'amélioration progressive quand il s'agit de JavaScript sur les pages Web mobiles. Cela permettra de s'assurer que votre site sera utilisable par plus de personnes.

+1

Note importante: Ce projet n'est plus supporté et sera supprimé le 29 octobre 2010, http: //mdbf.codeplex. com / – fravelgue

Questions connexes