zoukankan      html  css  js  c++  java
  • 浏览器兼容

    最近作浏览器兼容,这大部分是前端做的,我这做后台的有点艰难,谷歌百度的多。在有问题我会持续更新。

    1、iframe 标签改成<iframe src=""></iframe> , 不要<iframe src="" /> , 不然像Chrome,Firefox浏览器中多个iframe会只显示一个。

    2、获取是那个浏览器。

    function myBrowser() {
        var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
        var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器
        var isIE = userAgent.indexOf("compatible") > -1
                && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器
        var isEdge = userAgent.indexOf("Edge") > -1; //判断是否IE的Edge浏览器
        var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器
        var isSafari = userAgent.indexOf("Safari") > -1
                && userAgent.indexOf("Chrome") == -1; //判断是否Safari浏览器
        var isChrome = userAgent.indexOf("Chrome") > -1
                && userAgent.indexOf("Safari") > -1; //判断Chrome浏览器
    
        if (isIE) {
            var reIE = new RegExp("MSIE (\d+\.\d+);");
            reIE.test(userAgent);
            var fIEVersion = parseFloat(RegExp["$1"]);
            if (fIEVersion == 7) {
                return "IE7";
            } else if (fIEVersion == 8) {
                return "IE8";
            } else if (fIEVersion == 9) {
                return "IE9";
            } else if (fIEVersion == 10) {
                return "IE10";
            } else if (fIEVersion == 11) {
                return "IE11";
            } else {
                return "0";
            }//IE版本过低
            return "IE";
        }
        if (isOpera) {
            return "Opera";
        }
        if (isEdge) {
            return "Edge";
        }
        if (isFF) {
            return "FF";
        }
        if (isSafari) {
            return "Safari";
        }
        if (isChrome) {
            return "Chrome";
        }
        
    }

    3、在获取父iframe

    parent.window.frames['fraTitle'].showTitle();

    4、创建 XMLHttpRequest 对象(在IE5,IE6中有区别)

    if (window.XMLHttpRequest)
    {
        Request = new XMLHttpRequest();
    }
    else if(window.ActiveXObject)
    {
        Request = new ActiveXObject("Microsoft.XMLHTTP");
    }

    5、attachEvent为元素添加事件监听器,当触发该事件时调用事件处理函数。

    if (window.attachEvent) {  
        window.attachEvent("onload",function(){ o.setup();});
    } else if (window.addEventListener) {  
        window.addEventListener("onload",function(){ o.setup();});
    }

    6、js的function编写格式问题

    //
    function String.prototype.trim()
    {
        return this.replace(/(^s*)|(s*$)/g,"");
    }
    //改为
    String.prototype.trim = function()
    {
        return this.replace(/(^s*)|(s*$)/g,"");
    }
  • 相关阅读:
    Oracle
    Oracle入门
    数据库测试的测试点
    overload重载与override重写的区别
    Java接口的default关键字用法解释
    pytest执行入口
    Gradle的安装与基本配置
    玩转HTML5+跨平台开发[5] HTML表单标签
    玩转HTML5+跨平台开发[4] HTML表格标签
    玩转HTML5+跨平台开发[3] HTML列表标签
  • 原文地址:https://www.cnblogs.com/TimeSay/p/9181747.html
Copyright © 2011-2022 走看看