有没有办法在手机和手持设备上检测3G和2G连接速度?

时间:2011-07-30 19:08:51

标签: mobile-website mobile-phones browser-feature-detection html5-animation device-detection

有没有办法在手机和手持设备上检测3G和2G连接?

喜欢如果我想在用户使用3G时提供高端网站,如果用户使用2G则需要高度优化的版本。

2 个答案:

答案 0 :(得分:3)

在Android 2.2+中有一个JS对象。

您可以根据连接类型为CSS使用写出一个类。 但据我所知,它并不适用于移动网站的iOS版本。

var connection, connectionSpeed, htmlNode, htmlClass;
connection = navigator.connection || {"type":"0"}; // fallback

switch(connection.type) {
  case connection.CELL_3G: connectionSpeed = "mediumbandwidth"; break;
  case connection.CELL_2G: connectionSpeed = "lowbandwidth"; break;
  default: connectionSpeed = 'highbandwidth';
}

/* set the connection speed on the html element
   i.e. <html class="lowbandwidth">
*/
htmlNode = document.body.parentNode;
htmlClass = htmlNode.getAttribute("class") || "";
htmlNode.setAttribute("class", htmlClass + " " + connectionSpeed);

代码来自本演示文稿中的幻灯片24:
http://davidbcalhoun.com/present/mobile-performance/

答案 1 :(得分:0)

某些网络将连接类型作为http标头发送。

您最好的选择是在用户连接时进行速度测试并尝试将其作为cookie存储在客户端