如何使用HTML5/JavaScript检查连接类型(WiFi/LAN/WWAN)
How do I check connection type (WiFi/LAN/WWAN) using HTML5/JavaScript?
如果客户端通过WWAN(按流量计费)连接或其他方式连接,我希望将特定网站定制为低带宽版本。
连接类型对于站点知道它应该提供丰富的体验还是带宽高效的体验是很重要的。我的桌面运行在按流量计费的连接上,未来将有更多的桌面通过按流量计费蜂窝网络(包括Windows 8平板电脑)连接,高效的网络应用程序应该尊重用户可能不需要按字节付费连接的高细节资产。
如何检查客户端是否使用HTML5/JavaScript通过WiFi/LAN/WWAN连接?
注意:我不想明确检查浏览器标题(这不是一个真正的解决方案,适用于可以通过多种方法连接到互联网的桌面浏览器)。
请参见navigator.connection
(带前缀)。此API公开有关客户端带宽的信息。
你不能。关于客户端如何连接到服务器的信息(即,如果是按字节付费或统一费率,则使用哪些技术)是不公开的。如果这对你有帮助的话,你可能会得到一个跟踪路由(包括所有与跟踪有关的问题),但JavaScript无法访问这些信息。
JS可以做的是简单的带宽测试。通过XHR下载一个已知大小的文件,并测量所需的时间。
连接的付费模式是绝对的私人数据。它既不会被发送到互联网上的服务器,也不会被加载的网站使用。如果您需要这些信息来为客户端提供自定义应用程序,请直接询问用户。如果他愿意,他会告诉你的。
然而,等等。可以设置最新的Chrome和Firefox(用户偏好),以提供实验navigator.connection
对象上的数据。
此外,为了开发Metro应用程序,Windows提供了有关Windows.Networking.Connectivity
API的信息,请参阅本教程。
也许你处理它的方式不对。看看Gmail的模型。他们有一个富客户端,如果页面加载需要很长时间,用户可以选择退出。标准客户端要轻得多,并且使用更"传统"的web设计
尝试自动检测不应该发生的事情可能会让你陷入一个很深的兔子洞。
老问题,但在寻找自己的目的时,我发现了这个——我还没有尝试过,因此YMMV:https://github.com/ashanbh/detectClientSpeed.
测量下载资产的时间以获得带宽信息的基本概念是主观的,不一定是一致的,但缺少iOS/Android的本地平台API,这不是一个糟糕的选择。一个更轻松的替代方案可能是测量类似google.com的ping时间。
- 通过html5/websocket通过wifi传输文件
- 如何使用javascript来检测GPS和手机开/关的WIFI
- 使用谷歌地图拍摄 Lon 和 Lan
- Phonegap通过WiFi和移动网络而非GPS获取用户位置
- 如何使用HTML5/JavaScript检查连接类型(WiFi/LAN/WWAN)
- 如何获取WiFi路由器信息
- 如何将Arduino与WiFi屏蔽连接到html
- 如何获取连接的 wifi 网络名称
- PhoneGap地理定位器使用WiFi而不是GPS
- 了解用户是否连接到确定的wifi一段时间
- 检测用户是否正在使用NodeJS访问我的网络(WIFI)
- 如何使用Javascript和PHP从浏览器连接到WIFI
- 确定浏览器是否支持地理定位以及WiFi是否打开
- javascript可以获取当前WiFi连接的SSID吗
- 如何在谷歌地图地理位置API中获取笔记本电脑(wifi)的纬度和经度
- 如何使用javascript捕获内部LAN IP地址
- 在客户端(Chrome浏览器,Ubuntu操作系统)上检查WiFi信号强度
- 使用wifi来查找位置,而不是gps, javascript
- 我想下载一个字符串从ESP8266 wifi模块服务器使用html/javascript
- 计算WiFi带宽或WiFi信号强度