我想一个特定的网站量身定制的低带宽版本,如果客户端通过WWAN(计量)连接或以其他方式连接。
连接类型是很重要的网站知道它是否应该提供一个丰富的经验或带宽有效的经验。 我的桌面计量连接上运行,并在未来,更多的台式机将通过计量蜂窝网络(包括Windows 8平板电脑),高效的网络应用程序应该尊重用户可能并不需要一个付费per-高细节的资产连接字节连接。
如何检查,如果客户端通过使用HTML5 / JavaScript的无线/ LAN / WWAN连接?
注:我不想明确检查浏览器的标题(这是不是一个真正的桌面浏览器,可以通过多种方式连接到互联网的解决方案)。
见navigator.connection
(前缀)。 此API公开有关客户端的带宽信息。
你不能。 在客户端的连接方式的信息(即,它的技术,它使用,如果是付费字节或flatrate)到服务器是不公开的。 您可能能够得到路由跟踪(带连接到跟踪所有问题),如果可以帮助你,但这些信息将无法访问的JavaScript。
有什么可以做的JS是简单的带宽测试。 通过XHR下载已知大小的文件,并且测量所需要的时间。
连接的付费模式是绝对的私人数据。 亦不会一起发送到互联网上的服务器,也不是提供给负载的网站。 如果您需要这些信息提供给客户的自定义应用程序,直接询问用户 。 他会告诉你,如果他想。
然而,等待。 最新Chrome和Firefox可设置(用户偏好),以提供对这些数据的实验navigator.connection
对象 。
此外,开发地铁应用程序时,Windows offeres对这些信息Windows.Networking.Connectivity
API ,请参阅本教程 。
也许你在错误的方式接近它。 看看Gmail的模式。 他们有丰富的客户端,用户可以选择退出,如果页面花费很长的时间来加载。 该标准的客户端要轻得多,并使用了更“传统”的网页设计。
试图自动检测的东西并不意味着是可以带你下了非常深刻的兔子洞。
老问题,但在寻找我自己的目的,我发现这一点-我还没有尝试它等于是因人而异: https://github.com/ashanbh/detectClientSpeed 。
测量时间,以下载资产以获得带宽信息的基本概念是主观的,不一定是一致的,但短期机平台API的iOS / Android的,这是个不错的选择。 更轻的替代方案可以测量平次,像google.com。