`

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升级包IE8升级包

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

    IE8升IE10补丁.rar

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

    IE8(Microsoft Internet Explorer 8)绿色版

    同时,IE8绿色版支持多种Windows系统,特别是对32位的Windows XP系统有着良好的兼容性,解决了老旧系统用户升级浏览器的问题。 2. **性能优化** 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卸载工具

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

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

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

    WIN7 IE8安装文件

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

    ie8浏览器压缩包

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

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

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

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

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

    IE7和IE8浏览器重装修复包

    总的来说,这个“IE7和IE8浏览器重装修复包”是一个专为解决旧版Internet Explorer浏览器故障而设计的实用工具,旨在帮助用户解决常见的性能和兼容性问题,提升浏览体验。用户在使用时应注意,修复工具只能缓解和...

    IE8 for windowsXP

    7. **兼容性视图**: 由于许多网站在发布时并未针对IE8进行优化,IE8引入了“兼容性视图”,此模式下浏览器将模拟更旧版本的IE,以确保这些网站能够正常显示。 8. **安装和更新**: 在Windows XP上安装IE8通常需要...

Global site tag (gtag.js) - Google Analytics