Comment détectez-vous les 3G vs connexion Wifi sur mobile safari?
Je suis venu demander à propos de javascript sur un mobile de la page web, pas un objectif-c application. Est-il quelque chose comme Apple l'Accessibilité pour javascript, donc je peux dire quand Edge, 3G ou Wifi connexion est établie ou modifiée?
Vous devez vous connecter pour publier un commentaire.
Pas moins que les navigateurs commencer à donner cette information à travers le DOM qui, actuellement, ils ne le font pas. Il y a un
navigator
des objets javascript qui détient beaucoup de choses mais pas ce que vous cherchez. J'ai aussi lu dans la presse récemment que certains opérateur cellulaire a été l'ajout de cookies à des requêtes HTTP effectuées sur leurs téléphones. Ils ont été trouvés à être en ajoutant l'Id de clients des cookies (énorme faille de sécurité!!).Le navigateur Safari Mobile ajoute une nouvelle DOM ajouts, mais pas ce que vous demandez.
Court de ces options, vous ne pouvez pas. Les couches du Protocole de l'Internet sont destinés à encapsuler & masquer les détails des couches inférieures. Vous ne pouvez pas détecter Edge, 3G ou Wifi, pas plus que vous pouvez détecter câble, DSL ou plus fine de l'optique.
Enfin, même si vous pourriez obtenir cette information, il ne serait pas vous faire du bien, à moins d'avoir les détails de chaque nœud unique dans votre connexion TCP. Par exemple, je pourrais avoir la configuration suivante :
Additif
En 2012-2013, le W3C a été rajouté Le Réseau d'Information de l'API qui était destinée à fournir "une interface pour les applications web pour accéder au sous-tendent les informations de connexion de l'appareil". À l'époque, l'API prévoit qu'une "estimation" de la bande passante pour le navigateur sera accessible via
navigator.connection.bandwidth
. En avril 2014, que le travail a depuis été abandonnées!!Mise à jour: à compter du 20 octobre 2015, les travaux se poursuivent sur cette API. Vous pouvez trouver les dernières L'éditeur de projets pour le Réseau de l'Information de l'API sur le W3C github pages.
Bien que vous ne pouvez pas utiliser les données à partir d'un navigateur pour détecter si l'utilisateur est sur le Wifi ou une connexion cellulaire - saisir l'IP de l'utilisateur peut être un moyen de différencier une connexion wi-fi et une connexion Cellulaire.
Dans cet article sur la façon cellulaires impacts votre adresse IP ( http://classroom.synonym.com/wifi-change-ip-17586.html ), il stipule ce qui suit:
SI ip = localIp, puis connexion = wifiConnection
SI ip = publicIp, puis connexion = cellularConnection
Voici une capture d'écran de mon IP quand je suis sur cellulaire:
Voici une capture d'écran de mon IP (à droite après l'arrêt de cellulaire) sur le Wifi:
Cela pourrait être une réponse au problème sans l'aide de votre navigateur.
Au moment où cette limitation est améliorée, mais il y a toujours des restrictions avec le Réseau de l'Information de l'API prises en charge dans les différents navigateurs ( mobile ou non ), https://caniuse.com/#search=network
Si cela vous aide, Dans notre cas spécifique de l'application mobile hybride et développé à l'aide Ionique, nous avons été en mesure de le faire soit sur iOs ou Android à l'aide de ce plugin cordova: https://github.com/apache/cordova-plugin-network-information qui fonctionne comme un charme.