Désolé, je voudrais juste tester moi-même, mais je suis actuellement sans mon mac. Est-ce qu'une requête web faite à l'intérieur d'un UIWebView envoie les mêmes informations d'agent utilisateur qu'une requête web faite à partir de Safari mobile?UIWebView envoie-t-il le même user-agent dans les en-têtes de demande que Safari mobile?
28
A
Répondre
31
Les requêtes Web créées à partir de UIWebView n'incluront pas le mot «Safari» dans la chaîne User Agent. Les demandes Web faites à partir de Mobile Safari seront. C'est la meilleure façon de déterminer si une demande provient d'une application ou de Mobile Safari.
User Agent Echantillon de UIWebView dans les App:
User-Agent: Mozilla/5.0 (iPad; U; CPU OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile
User Agent Echantillon de Safari Mobile:
User-Agent: Mozilla/5.0 (iPad; U; CPU OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari
11
chaînes d'agent utilisateur mobile Safari autonomes contiennent le mot 'Version', alors que l'agent utilisateur UIWebView les chaînes ne le font pas. Ainsi, le script de détection peut être modifié pour fonctionner avec la dernière version d'iOS comme suit:
var is_uiwebview = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Version)/i.test(navigator.userAgent);
Questions connexes
- 1. Bouton de retour de style Safari mobile pour UIWebView?
- 2. Plusieurs balises audio HTML5 dans Mobile Safari et UIWebView
- 3. lien ouvert de UIWebView dans Safari (iphone)
- 4. Bug dans Mobile Safari concernant HTML LINK
- 5. Spoofing UserAgent dans Opera
- 6. Modifier l'URL de la demande dans UIWebView
- 7. UIWebView: ouvre des liens dans Safari, certains dans la vue
- 8. Manifeste de cache HTML5 dans Safari mobile
- 9. Notification après la lecture vidéo dans un safari mobile
- 10. Problèmes d'API de géolocalisation de Safari mobile
- 11. Utilisez JavaScript pour obtenir le texte sélectionné dans Mobile Safari
- 12. contenu vidéo sur iPhone Safari/UIWebView
- 13. Mobile Safari - Afficher la console?
- 14. Force le rendu de la page entière sur Mobile Safari?
- 15. Rendu des bordures bug dans Safari mobile
- 16. comment mettre en œuvre même pagination que safari dans iphone?
- 17. Zone de texte Safari mobile Arrière-plan
- 18. Incorporer des fichiers WAVE dans le mobile Safari des iPhones
- 19. Invite de remplissage automatique de Safari mobile
- 20. Que signifie lorsque IE signale deux versions dans UserAgent?
- 21. UIWebView défile par saccades
- 22. Mobile Safari/Webkit sur l'événement Focus fenêtre
- 23. Safari Mobile montre pas sur les barres de défilement textarea
- 24. Mobile Safari Youtube ouvert via javascript
- 25. iPhone de Safari Mobile: Caractères spéciaux
- 26. Mobile Safari scrollPour w/textarea bug
- 27. Comment utiliser les entêtes openssl crypto lib en C++?
- 28. Site Web Causes Mobile Safari Crash (réplicable)
- 29. Demande d'inventaire mobile - besoin de conseils
- 30. jqModal ne s'affiche pas correctement dans Mobile Safari
La page Web d'Android envoie l'en-tête http «X-Requested-With». Le navigateur autonome ne le fait pas. Est-ce que l'UIWebView de l'iPhone le fait aussi? voir http://stackoverflow.com/a/15254092/90236 –
Malheureusement, cette réponse échoue avec Chrome iOs. Ce sont les UA pour Safari et Chrome. Les deux contiennent "Safari" --- 'Mozilla/5.0 (iPhone, CPU iPhone OS 7_1_1 comme Mac OS X) AppleWebKit/537.51.2 (KHTML, comme Gecko) Version/7.0 Mobile/11D201 Safari/9537.53' --- 'Mozilla/5.0 (iPhone, CPU iPhone OS 7_1_1 comme Mac OS X) AppleWebKit/537.51.1 (KHTML, comme Gecko) CriOS/35.0.1916.38 Mobile/11D201 Safari/9537.53' –
@ bfred.it Je ne sais pas Comprenez votre commentaire. La question n'avait rien à voir avec la distinction de différents navigateurs mobiles les uns des autres. Seulement en distinguant un UIWebView intégré du navigateur intégré. – Johann