ie8的兼容性问题

2017-11-13  本文已影响20人  lvyweb

标签(空格分隔): 兼容性


ie8不支持trim方法

方法一:解决方法也很简单使用$.trim(str)即可,需要的朋友可以了解下

方法二:或者自己写个去掉空格的函数

function trim(str){ //删除左右两端的空格  
    return str.replace(/(^s*)|(s*$)/g, "");
}

调用trim(str)

方法三

<html> 
 <head> 
  <title>test</title> 
  <script type="text/javascript"> 
    String.prototype.trim = function() 
    { 
      return this.replace(/(^\s*)|(\s*$)/g, ""); 
    } 
      
    function check(){ 
      var str = document.getElementById("test").value; 
        
      alert(str.trim()); 
    } 
  </script> 
 </head> 
   
 <body> 
  <center> 
    <input id="test" type="text" /> 
    <input id="but" type="button" value="检验" onclick="check();"/> 
  </center> 
 </body> 
</html> 

ie8下会提示对象不支持indexOf属性或方法

在使用indexOf方法前,执行一下下面的js, 原理就是如果发现数组没有indexOf方法,会添加上这个方法。

if (!Array.prototype.indexOf)
{
  Array.prototype.indexOf = function(elt /*, from*/)
  {
    var len = this.length >>> 0;
    var from = Number(arguments[1]) || 0;
    from = (from < 0)
         ? Math.ceil(from)
         : Math.floor(from);
    if (from < 0)
      from += len;
    for (; from < len; from++)
    {
      if (from in this &&
          this[from] === elt)
        return from;
    }
    return -1;
  };
}

用js判断浏览器是不是ie8,跳转不同页面

判断是否是ie8以下版本,根据版本不同跳转不同页面。

    var DEFAULT_VERSION = 8;
    var ua = navigator.userAgent.toLowerCase();
    var isIE = ua.indexOf("msie")>-1;
    var safariVersion;
    if(isIE){
        safariVersion =  ua.match(/msie ([\d.]+)/)[1];
        var sa = parseInt(safariVersion);
        if(safariVersion < DEFAULT_VERSION ){
            alert("ie8以下")

        }else if(safariVersion = DEFAULT_VERSION){
            alert("ie8版本")

        }
    }else{
       alert("非ie")

    }
上一篇 下一篇

猜你喜欢

热点阅读