`

IE8兼容性问题记录

阅读更多

最近公司的项目要求支持IE8,所以就开始了做IE8的兼容了,本人记录了遇到的问题极其解决方案

之前在chrome中能够正常运行,在IE8中出现的问题

 

IE8中不支持就query中的getJSON()方法,这个可以在自己的工具类js中封装,

封装如下

 

var Tool = function() {};
Too.getJson = function (url, params, success, asynous, error, load) {
      //请求的同步异步设置
      if(asynous != true) {
              asynous = false;
      }
       $.ajax({
              url : url,
              type : "GET",
              data : params,
              dataType : "json",
              success : success,
              complete :  load,
              error : error,
              async :asynous
       });
};

 另外最后一行绿色标注的地方注意,如果后面加了",",可能在IE中会报"缺少标识符、字符串或者数字的异常",另外报相同错误的可能原因还有在json字符串的key中使用了js的关键字,如:class,

 

2.如果代码中有console语句会出现console未定义的错误,我当时是去掉了,如果有更好的解决方案请提出

 

3.IE8中不识别JSON,如果要使用JSON.parse或者stringify方法,可以在代码中添加如下代码

var JSON = JSON || {};

// implement JSON.stringify serialization
JSON.stringify = JSON.stringify || function (obj) {

var t = typeof (obj);
if (t != "object" || obj === null) {

    // simple data type
    if (t == "string") obj = '"'+obj+'"';
    return String(obj);

}
else {

    // recurse array or object
    var n, v, json = [], arr = (obj && obj.constructor == Array);

    for (n in obj) {
        v = obj[n]; t = typeof(v);

        if (t == "string") v = '"'+v+'"';
        else if (t == "object" && v !== null) v = JSON.stringify(v);

        json.push((arr ? "" : '"' + n + '":') + String(v));
    }

    return (arr ? "[" : "{") + String(json) + (arr ? "]" : "}");
}
};

// implement JSON.parse de-serialization
JSON.parse = JSON.parse || function (str) {
if (str === "") str = '""';
eval("var p=" + str + ";");
return p;
 };

 该代码来自:http://stackoverflow.com/questions/3326893/is-json-stringify-supported-by-ie-8

其他方案也有可行的,自己尝试

 

4.table中的样式display:none;可能导致不显示,可以改为block table-row

 

其他更过ie兼容参见:http://www.wufangbo.com/ie6-ie7-ie8-css-bug-2/

 

5.关于同样的url在其他浏览器可能经过编码了,但是IE中是没有编码的,所以你访问时会出现错误,你可以在url打开前进行编码,使用encodeURI(url)就行,但是这样你如果有链接跟后面相同,则会在连续切换几次后链接失效,实际上不是链接失效了,而是因为每次你都在解析,尤其%解析后是%25,如果你发现你的url中含有很多25,这就是你每次转码后没有解码的结果,处理方式是,encodeURI(decodeURI(url)).

 

6.关于样式问题,在使用的样式中如果使用display:none想要达到隐藏的效果但是有些东西就是隐藏不了,你可以使用visibility:hidden;另外自己写的鼠标移上去提示效果,有时在其他的浏览器都行,但是在IE就行,如果是其他的文本什么的可以使用title="提示的文字",如果是图片的提示可以使用alt=""

 

后续慢慢更新.....

 

分享到:
评论

相关推荐

    解决ie8地址栏无记录

    在IE8浏览器中,用户可能会遇到地址栏无记录的问题,即历史浏览记录无法显示或下拉菜单不工作。这个问题可能是由于多种原因导致的,包括浏览器设置、缓存问题、插件冲突或者系统文件损坏等。以下是一些详细的解决...

    css移动版兼容性问题记录

    本文旨在记录常见的移动端CSS兼容性问题及其解决方案,帮助前端开发者更好地进行移动页面的开发工作。 #### 常见的CSS兼容性问题及解决方案 ##### 水平垂直居中 **方案一:Flexbox** ```css .item { display: ...

    解决SHOPEX不兼容IE9、IE10

    标题中的“解决SHOPEX不兼容IE9、IE10”表明了本文将探讨一个针对电子商务平台SHOPEX的兼容性问题,主要聚焦在它无法正常运行于Internet Explorer (IE) 9和10这两个版本上。SHOPEX是一款基于PHP的开源电子商务系统,...

    layer最新(兼容ie8)

    "layer最新(兼容ie8)"表明这是Layer的一个更新版本,特别强调了对老旧浏览器Internet Explorer 8(IE8)的兼容性,这对于那些仍需支持旧版浏览器的项目来说是非常重要的。 Layer插件的核心功能在于提供各种类型的弹...

    IE11无法保存浏览器兼容性视图设置的解决方法.docx

    用户也可以通过取消勾选浏览历史记录来解决IE11浏览器无法保存兼容性视图设置的问题。首先,打开IE11浏览器,然后打开“Internet选项”窗口,切换到“常规”选项卡,然后在浏览历史模块中,取消勾选“退出时删除浏览...

    IE8可用的 http

    HTTPWatch因其易用性和实用性,在这方面表现出色,是开发者调试网络应用,特别是与IE8兼容性问题时的重要辅助工具。 标签“httpwatch”、“ie8”和“抓包”进一步强调了这款工具的主要特性。HTTPWatch是该软件的...

    IE8升IE10补丁.rar

    1. **浏览器兼容性**:IE10相比IE8提供了更好的HTML5支持,改进了CSS3的渲染,提升了JavaScript性能,对于现代网页应用有更好的兼容性。 2. **安全增强**:升级可以带来新的安全特性,如改进的恶意软件防护,防止...

    IE8(Microsoft Internet Explorer 8)绿色版

    同时,IE8绿色版支持多种Windows系统,特别是对32位的Windows XP系统有着良好的兼容性,解决了老旧系统用户升级浏览器的问题。 2. **性能优化** IE8在性能方面进行了大量优化,加载网页速度更快,内存占用更低。它...

    IE8升级包IE8升级包

    由于IE6在安全性和兼容性上存在很多问题,微软鼓励用户升级到更现代的浏览器版本,如IE8。升级过程旨在解决这些问题,提供一个更安全、稳定和现代的浏览环境。 标签“IE8升级包”进一步明确了该压缩包的内容,即与...

    ext3与ie9不兼容的问题

    在探讨“ext3与ie9不兼容的问题”这一主题时,我们首先需要理解几个关键概念:ext3、Internet Explorer 9(简称IE9)以及它们之间的兼容性问题。此外,根据给定的部分内容,我们将深入分析JavaScript代码片段,了解...

    IE8浏览器,重装IE8浏览器

    7. **兼容性视图**:为了解决一些旧网站在新浏览器中可能出现的问题,IE8引入了兼容性视图。此模式使得浏览器以更古老版本的渲染引擎来显示网页,保证了与旧版网页的良好兼容。 **重装IE8的步骤** 1. **备份数据**...

    WindowS XP IE8 离线安装包

    而Internet Explorer 8(简称IE8)是微软为Windows XP设计的一款重要浏览器版本,它在安全性、性能以及网页兼容性上都有显著提升。离线安装包则为那些无法连接到互联网或者网络环境不稳定的情况提供了便利,使得用户...

    IE8升级安装

    - **兼容性视图**:为了解决网页与新浏览器版本之间的兼容性问题,IE8引入了兼容性视图,允许用户以旧版IE的方式显示网页。 - **增强的安全功能**:包括反钓鱼滤网、恶意软件防护等,提高了对网络威胁的防护能力。...

    IE8卸载工具

    1. **兼容性问题**:有些旧版网站可能未优化为与IE8兼容,可能导致页面显示异常或者功能无法正常使用。 2. **性能问题**:随着新版本浏览器的出现,IE8的性能可能相对较弱,特别是在处理复杂网页或大量脚本时。 3. *...

    IETester(前端必备,IE兼容测试必备)

    总的来说,IETester是前端开发者不可或缺的工具之一,尤其在需要处理跨版本IE兼容性问题时。它大大简化了测试流程,提高了工作效率,使得开发者能够在开发过程中及时发现并修复问题,从而保证网站或应用在各种IE环境...

    WIN7 IE8安装文件

    4. **兼容性问题**:尽管IE8在发布时是一个先进且稳定的浏览器,但随着时间的推移,一些现代网站可能不再支持它。因此,如果遇到兼容性问题,可能需要升级到更高版本的浏览器,如IE11或转向其他浏览器,如Microsoft ...

    ie8浏览器压缩包

    四、兼容性问题 尽管IE8在当时是一个重要的进步,但随着Web技术的快速发展,许多现代网页设计元素和框架可能不再与IE8兼容。因此,对于需要确保现代网页在旧版浏览器中正常运行的开发者,测试IE8仍然具有实际意义。...

    [独家提供][亲自制作]完美ie8绿色中文版版支持win7x64

    - **兼容性视图**:解决某些网站因IE8的更严格标准模式渲染而出现问题,可以切换到更宽松的模式来兼容旧网站。 2. **安全增强**: - **SmartScreen筛选器**:检测并阻止潜在的恶意软件下载。 - **保护模式**:在...

    delphi 调用Webservice 在IE6,IE7 能运行,IE8下报错

    - **版本兼容性测试**:开发过程中应充分考虑不同浏览器版本之间的兼容性问题,并进行相应的测试。 - **错误日志记录**:在程序中加入详细的错误日志记录功能,以便于出现问题时能够快速定位和修复。 - **用户体验...

    IE8开发人员工具无法使用的解决方法

    ### IE8开发人员工具无法...如果问题依然存在,建议考虑更新或更换浏览器版本,因为IE8已经非常老旧,支持和兼容性方面可能存在更多挑战。对于那些需要继续使用IE8的开发者而言,了解这些故障排查技巧将是十分有益的。

Global site tag (gtag.js) - Google Analytics