常用Javascript工具文件common.js

  • 原创
  • 作者:程序员三丰
  • 发布时间:2021-05-21 01:15
  • 浏览量:412
JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。
$(function ($) {
    //序列化表单字段为json对象
    $.fn.serializeFormToJson = function () {
        var arr = $(this).serializeArray();//form表单数据 name:value
        var param = {};
        $.each(arr, function (i, obj) { //将form表单数据封装成json对象
            param[obj.name] = obj.value;
        })
        return param;
    }

    // iframe刷新
    $('.ifrm-refresh-btn').on('click', function () {
        window.location.reload();
    });
});

/**
 * 清空表单值
 * @param form_id 要操作的form元素ID,不带#
 * @param hidden_do 是否清空hidden元素的值,需要清空传入true,否则无需传入或传入false
 */
function form_value_clear(form_id, hidden_do) {
    //console.log('debug: ' + form_id);
    var form_o = $('#' + form_id);
    form_o.find(':text, :password').val('');
    form_o.find('select option[selected]').removeAttr('selected');
    if (hidden_do)
        form_o.find(':hidden').val('');

    form_o.submit();
}

/**
 * 获取浏览器版本
 * @returns {string}
 */
function getBrowserInfo() {
    var agent = navigator.userAgent.toLowerCase();
    var arr = [];
    var system = agent.split(' ')[1].split(' ')[0].split('(')[1];
    arr.push(system);
    var REGSTR_EDGE = /edge\/[\d.]+/gi;
    var REGSTR_IE = /trident\/[\d.]+/gi;
    var OLD_IE = /msie\s[\d.]+/gi;
    var REGSTR_FF = /firefox\/[\d.]+/gi;
    var REGSTR_CHROME = /chrome\/[\d.]+/gi;
    var REGSTR_SAF = /safari\/[\d.]+/gi;
    var REGSTR_OPERA = /opr\/[\d.]+/gi;
    // IE
    if (agent.indexOf('trident') > 0) {
        arr.push(agent.match(REGSTR_IE)[0].split('/')[0]);
        arr.push(agent.match(REGSTR_IE)[0].split('/')[1]);
    }
    // OLD_IE
    if (agent.indexOf('msie') > 0) {
        arr.push(agent.match(OLD_IE)[0].split(' ')[0]);
        arr.push(agent.match(OLD_IE)[0].split(' ')[1]);
    }
    // Edge
    if (agent.indexOf('edge') > 0) {
        arr.push(agent.match(REGSTR_EDGE)[0].split('/')[0]);
        arr.push(agent.match(REGSTR_EDGE)[0].split('/')[1]);
    }
    // firefox
    if (agent.indexOf('firefox') > 0) {
        arr.push(agent.match(REGSTR_FF)[0].split('/')[0]);
        arr.push(agent.match(REGSTR_FF)[0].split('/')[1]);
    }
    // Opera
    if (agent.indexOf('opr') > 0) {
        arr.push(agent.match(REGSTR_OPERA)[0].split('/')[0]);
        arr.push(agent.match(REGSTR_OPERA)[0].split('/')[1]);
    }
    // Safari
    if (agent.indexOf('safari') > 0 && agent.indexOf('chrome') < 0) {
        arr.push(agent.match(REGSTR_SAF)[0].split('/')[0]);
        arr.push(agent.match(REGSTR_SAF)[0].split('/')[1]);
    }
    // Chrome
    if (agent.indexOf('chrome') > 0) {
        arr.push(agent.match(REGSTR_CHROME)[0].split('/')[0]);
        arr.push(agent.match(REGSTR_CHROME)[0].split('/')[1]);
    } else {
        arr.push('未获取到浏览器信息');
    }

    var thisbrowse;
    if (arr[1] && arr[2]) {
        thisbrowse = arr[1] + ' ' + arr[2];
    } else {
        thisbrowse = '未获取到浏览器信息';
    }
    switch (thisbrowse) {
        case 'msie 6.0':
            thisbrowse = 'ie6';
            break;
        case 'msie 7.0':
            thisbrowse = 'ie7';
            break;
        case 'trident 4.0':
            thisbrowse = 'ie8';
            break;
        case 'trident 5.0':
            thisbrowse = 'ie9';
            break;
        case 'trident 6.0':
            thisbrowse = 'ie10';
            break;
        case 'trident 7.0':
            thisbrowse = 'ie11';
            break;
    }
    return thisbrowse
}
声明:本文为原创文章,51blog.xyz和作者拥有版权,如需转载,请注明来源于51blog.xyz并保留原文链接:https://www.51blog.xyz/article/3

文章归档

强烈推荐的PHP全栈开发后台管理系统
buildadmin logo
Thinkphp8 Vue3 Element PLus TypeScript Vite Pinia

🔥BuildAdmin是一个永久免费开源,无需授权即可商业使用,且使用了流行技术栈快速创建商业级后台管理系统。

推荐文章

热门标签

PHP ThinkPHP ThinkPHP5.1 Go Mysql Mysql5.7 Redis Linux CentOS7 Git HTML CSS CSS3 Javascript JQuery Vue LayUI VMware Uniapp 微信小程序 docker wiki Confluence7 学习笔记 uView ES6 Ant Design Pro of Vue React ThinkPHP6.0 chrome 扩展 翻译工具 Nuxt SSR 服务端渲染 scrollreveal.js ThinkPHP8.0 Mac webman 跨域CORS vscode GitHub ECharts Canvas vue3 three.js 微信支付 PHP全栈开发 Python AI 人工智能 AI辅助 工作经验 实战笔记