zqifa的博客

我不管,反正我最萌~

完美解决IE9浏览器出现的对象未定义问题

目前Window7的机器上,使用IE9浏览器的用户很多,但是IE9在兼容性上做了较严格的控制,导致很多程序在chrome,firefox,ie6,ie7,ie8上可以正常运行,在ie9上确出现了各种问题,这里要说的其中一个问题,就是对象为定义,特别是单一个页面上嵌套了多层iframe/frame的时候,往往会出现:

Array对象未定义
$对象未定义
jQuery对象未定义
Json对象未定义
undefined对象未定义
*对象未定义...

这种情况,我们一开始,
1,首先当然先检查是否JS文件路径引用不对,或者是Html文件的设置编码格式不正确;
2,假如这些基本的都正常没问题,我们再去检查,是否我们编写的js文件放在自己引用的第三方js插件或者框架后面,按照Dom解析方式,我们最好让自己的js文件放在最后解析。
假如上面两步都保证正常,并且在chrome,firefox,ie6,ie7,ie8上可以正常运行,那么就有可能是我们要强调的问题,ie9严格性问题,这里我们可以在页面上处理,添加

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />

来作为处理IE9的兼容方法,虽然微软将IE向标准迈进了,但事实上每个IE版本还是存在一系列渲染的奇怪现象,所以对于我们来说,在这方面微软是挺罪孽的,开个玩笑。

作者:zqifa

出处:https://www.l1mn.com

原文地址:https://www.l1mn.com/p/v7f0c3.html

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

Copyright © zqifa 联系方式:z___qf@163.com