js获取客户端浏览器类型

【应用场景】在使用jquery easyui的form插件时,chrome返回json数据总是被添加了样式,其他浏览器都能正常返回json数据。尝试使用jqeury的ajax方法提交表单也没有出现问题。为了绕过错误以及为了学习easyui的使用,所以笔者采用如下解决方案:

(1)判断浏览器是否为chrome浏览器;

(2)若是chrome浏览器,则使用jquery的ajax方式提交表单;否则,采用easyui的form插件提交表单;

1.js代码如下:

function getBrowserType() {

    var explorer = navigator.userAgent;
    var result;
    //ie 
    if (explorer.indexOf("MSIE") >= 0) {
        result = "ie";
    }
    //firefox 
    else if (explorer.indexOf("Firefox") >= 0) {
        result = "Firefox";
    }
    //Chrome
    else if (explorer.indexOf("Chrome") >= 0) {
        result = "Chrome";
    }
    //Opera
    else if (explorer.indexOf("Opera") >= 0) {
        result = "Opera";
    }
    //Safari
    else if (explorer.indexOf("Safari") >= 0) {
        result = "Safari";
    }
    //Netscape
    else if (explorer.indexOf("Netscape") >= 0) {
        result = 'Netscape';
    }
    return result;

}

2.aspx页面代码

        function saveMenu() {
                var row = $('#dg').datagrid('getSelected');
                if (getBrowserType() == "Chrome") {
                    $.ajax({
                        url: url1,
                        type: "post",
                        dataType: "json",
                        async: false,
                        data: $("#fm").serialize(), //将表单序列化
                        success: function (data) {
                            //ajax方式直接将后台的json字符串转换为json对象,即这里的data已经是json对象,不需要转换
                            $.messager.alert("操作提示", data.Message, 'info'); //显示后台信息
                            if (data.Success) {
                                $("#dg").datagrid('reload');
                            }
                        },
                        error: function (XMLHttpRequest, textStatus, errorThrown) {
                            alert(XMLHttpRequest.status);
                            alert(XMLHttpRequest.readyState);
                            alert(textStatus);
                        }


                    });
                } else {
                    $('#fm').form('submit', {
                        url: url1, //注意添加和修改的url不同
                        dataType: 'json',
                        onSubmit: function () {
                            //验证表单是否合法
                            return $(this).form('validate');
                        },
                        success: function (data) {
                            data = eval('(' + data + ')');      //将一个json字符串解析成js对象
                            $.messager.alert("操作提示", data.Message, 'info'); //提示后台错误信息
                            if (data.Success) {
                                $('#dlg').dialog('close');      //关闭弹出框
                                $('#dg').datagrid('reload');    //重新加载数据
                            }
                        }
                    });
                }

            }

代码参考了js判断当前浏览器

猜你喜欢

转载自blog.csdn.net/zyxhangiian123456789/article/details/80847688