我正在尝试使网站尽可能地响应电话用户,这意味着要删除一些需要带宽的功能。特别是,如果用户在 wifi 上但不在 3g/4g 上,我想加载外部字体。
一个很好的代表是“手机或平板电脑”,平板电脑通常是“良好连接”的分界线。这个有点用,但是有3g/4g的平板,还有wifi上的手机,所以不完美。
我认为这不可能变得更好,但也许 stackoverflow 的集体智慧已经找到了一种方法。这个可以检测吗?
我正在尝试使网站尽可能地响应电话用户,这意味着要删除一些需要带宽的功能。特别是,如果用户在 wifi 上但不在 3g/4g 上,我想加载外部字体。
一个很好的代表是“手机或平板电脑”,平板电脑通常是“良好连接”的分界线。这个有点用,但是有3g/4g的平板,还有wifi上的手机,所以不完美。
我认为这不可能变得更好,但也许 stackoverflow 的集体智慧已经找到了一种方法。这个可以检测吗?
不要专注于移动设备,只需进行带宽测试即可。真正确定的唯一方法是测量将文件下载到他们的设备的时间。
在此处尝试接受的答案:如何在 Javascript 中检测互联网速度?
我知道的唯一方法是在请求时(在 Web 服务器上)对请求的 IP 地址进行反向查找,看看它是否来自无线运营商。这样做的两个问题是;我不知道移动设备是否使用与有线网络不同的网络(无线版本与 Fios 版本),另一个问题是那些可能实际使用有线网络的公司的员工会出现无线网络。
您可以尝试对非常常见的本地地址(只能通过 Wifi 访问)进行网络探测,例如192.168.1.100
和朋友。就是这样:
img
元素onError
。src
属性设置为您要“ping”的地址我最初在Ajax Security(好书)中读到了这项技术。
JavaScript 不提供任何连接到网络级连接类型的钩子。您可以做的最好的事情是下载一个已知的测试文件,并据此做出决定。
如果失败,只需询问用户是否更喜欢高/低带宽设置。