我特别询问的是关于移动网页上的JavaScript,而不是Objective-C应用程序。是否有像苹果可达性一样的JavaScript功能,以便我可以告诉何时进行或更改了Edge、3G或Wifi连接?
navigator
保存了许多信息,但不包括您要查找的内容。最近我也在新闻中读到某些移动运营商正在HTTP请求中添加cookies。他们被发现将客户ID添加到cookie中(巨大的安全漏洞!)。iPad ---WiFi----> iPhone的热点 ---3G---> 运营商 ---未知--->>>
在2012-2013年间,W3C正在完善 The Network Information API,旨在提供一个接口,使得网页应用可以访问设备的底层连接信息。当时,该API规定可以通过navigator.connection.bandwidth
获取浏览器的"估计"带宽。截至2014年4月,该工作已经停止!
更新1:截至2015年10月20日,该API的开发仍在继续。您可以在W3C的github页面上找到最新的Network Information API编辑草案。
更新2: 2020年6月,由于隐私问题,苹果拒绝在Safari中实现网络信息API
目前这个限制已经得到改善,但是不同浏览器(移动或非移动)支持的网络信息API仍然存在限制https://caniuse.com/#search=network
如果这对您有帮助,我们的特定移动应用程序是混合式的,并使用Ionic开发,我们已经能够在iOS或Android上使用这个cordova插件:https://github.com/apache/cordova-plugin-network-information,它的效果非常好。