javascript - 前端如何获取到手机客户端当前的网络状况信息?

 手机用户2502883723 发布于 2022-11-12 17:42

最近想要对移动端的H5项目进行性能优化,其中一部分工作是优化图片的加载速度,现在我想要根据用户客户端的移动状况给界面加载不同压缩率的图片,但是有没有使用js检测用户客户端网络状况的方法呢?

3 个回答
  • jquery有个类似ping功能的插件,可以获取响应时间,试试看。

    以下代码为转载:

    $.ping = function(option) 
    {
        var ping, requestTime, responseTime ;
        var getUrl = function(url){    //保证url带http://
            var strReg="^((https|http)?://){1}"
            var re=new RegExp(strReg); 
            return re.test(url)?url:"http://"+url;
        }
        $.ajax({
            url: getUrl(option.url)+'/'+ (new Date()).getTime() + '.html',  //设置一个空的ajax请求
            type: 'GET',
            dataType: 'html',
            timeout: 10000,
            beforeSend : function() 
            {
                if(option.beforePing) option.beforePing();
                requestTime = new Date().getTime();
            },
            complete : function() 
            {
                responseTime = new Date().getTime();
                ping = Math.abs(requestTime - responseTime);
                if(option.afterPing) option.afterPing(ping);
            }
        });
    
    if(option.interval && option.interval > 0)
    {
        var interval = option.interval * 1000;
        setTimeout(function(){$.ping(option)}, interval);

    // option.interval = 0; // 阻止多重循环
    // setInterval(function(){$.ping(option)}, interval);

    }

    };

    相关实例:

    <p id="msg"></p>
    <script language="javascript" src="jquery.js?1.2.1"></script>
    <script language="javascript" src="ping.js?1.2.1"></script>
    <script>
    $.ping({
    url : 'http://www.example.com', 
    beforePing : function(){$('#msg').html('')},
    afterPing : function(ping){$('#msg').html(ping)}, 
    interval : 1
    });
    </script>
    2022-11-12 17:43 回答
  • 微信自带的浏览器的user-agent里面有network字段。你可以挂上代理之后用微信访问任意网页抓包看看

    2022-11-12 17:43 回答
  • 自己写一个ajax请求去访问一个接口获得返回时间来判断呗,网络状况貌似只能判断是否连了网。

    2022-11-12 17:43 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有