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

就像如果我要在用户使用3G时提供高端网站,而如果用户要在2G上则提供高度优化的版本。

最佳答案

在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/

关于mobile-website - 有没有一种方法可以检测手机和手持设备上的3G和2G连接速度?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6885402/

10-13 00:40