时间:2020-10-07 14:26:16 | 栏目:JavaScript代码 | 点击:次
目前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版本还是存在一系列渲染的奇怪现象,所以对于我们来说,在这方面微软是挺罪孽的,开个玩笑。