如何使用javascript检测移动连接是2G / 3G / WIFI

时间:2014-09-22 06:42:12

标签: javascript

我有类似于以下链接的要求,但我必须使用JavaScript来处理它。我必须检测移动互联网连接是2g / 3g还是WIFI。基于连接,我必须执行不同的操作..  注意:移动设备可以是任何操作系统,如andriod / iOS / BB ..我需要处理任何移动操作系统。

Is there a way to detect what kind of connection I'm using ? WiFi, 3G or Ethernet?

请求主人帮我输入。谢谢:))

2 个答案:

答案 0 :(得分:16)

Network Information API(这是一项实验性技术):

  

Network Information API提供有关系统的信息   连接,这是一般连接类型(例如,' wifi',   '蜂窝'等)。这可用于选择高清内容   或基于用户连接的低清内容。整个   API包含添加domxref(" NetworkInformation")   接口和Navigator接口的单个​​属性:   Navigator.connection。

var connection = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
var type = connection.type;

function updateConnectionStatus() {
  alert("Connection type is change from " + type + " to " + connection.type);
}

connection.addEventListener('typechange', updateConnectionStatus);

答案 1 :(得分:-3)

我写了一个小工具来做到这一点。你可以在这里试试 http://ashanbh.github.io/detectClientSpeed/example2.html 并在github上分叉:https://github.com/ashanbh/detectClientSpeed

用法:

<script src="scripts/require.js"></script>
<script>
        requirejs(['scripts/detectSpeed'], function (detectSpeed) {

            //Callback to receive timing information
            var callback = function (timings) {
                console.log(timings);
            }
            detectSpeed.startSpeedCheck("https://s3-us-west-1.amazonaws.com/amit.shanbhag/3g/coffee-apple-iphone-laptop.jpg", callback);

        });
</script>