完美解决IE9浏览器出现的对象未定义问题_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版本还是存在一系列渲染的奇怪现象,所以对于我们来说,在这方面微软是挺罪孽的,开个玩笑。

以上就是小编为大家带来的完美解决IE9浏览器出现的对象未定义问题的全部内容了,希望对大家有所帮助,多多支持~

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索jquery
, ie9
未定义
ie9 formdata未定义、ie9 对象为空或未定义、ie9 json未定义、jquery 未定义 ie9、javascript 未定义,以便于您获取更多的相关知识。

时间: 2024-11-27 15:02:25

完美解决IE9浏览器出现的对象未定义问题_javascript技巧的相关文章

完美解决IE不支持Data.parse()的问题_javascript技巧

IE不能识别JS函数Date.parse的解决方法  ,当我们用JS计算两个时间的间隔时,我们会用到Date.parse 这个JS函数. 如: var begintime = "2012-12-22"; //开始时间 var endtime = "2012-12-25"; //结束时间 var begindate=new Date(begintime): var enddate=new Date(endtime ): var days = Date.parse(en

对象特征检测法判断浏览器对javascript对象的支持_javascript技巧

复制代码 代码如下: if(document.getElementById) { alert(document.getElementById);//output: function getElementById(){ [native code] }; } 如上例,该方法判断所在浏览器是否支持getElementById()方法,注意,这里if语句中的检测对象没有括号"()".

JavaScript 中对象的深拷贝_javascript技巧

对象的深拷贝与浅拷贝的区别如下: 浅拷贝:仅仅复制对象的引用,而不是对象本身: 深拷贝:把复制的对象所引用的全部对象都复制一遍. 一. 浅拷贝的实现 浅拷贝的实现方法比较简单,只要使用是简单的复制语句即可. 1.1 方法一:简单的复制语句 /* ================ 浅拷贝 ================ */ function simpleClone(initalObj) {     var obj = {};     for ( var i in initalObj) {   

js中事件的处理与浏览器对象示例介绍_javascript技巧

复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>简单的事件处理</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta ht

javascript解决小数的加减乘除精度丢失的方案_javascript技巧

原因:js按照2进制来处理小数的加减乘除,在arg1的基础上 将arg2的精度进行扩展或逆扩展匹配,所以会出现如下情况. javascript(js)的小数点加减乘除问题,是一个js的bug如0.3*1 = 0.2999999999等,下面列出可以完美求出相应精度的四种js算法 function accDiv(arg1,arg2){ var t1=0,t2=0,r1,r2; try{t1=arg1.toString().split(".")[1].length}catch(e){} t

IE7提供XMLHttpRequest对象为兼容_javascript技巧

在IE7的开发中,据说新增加了一个Native对象--XMLHttpRequest.怎么难道开发IE7的"新警察"不知道IE6们都用ActiveX对象XmlHttp吗?XmlHttp出了什么问题,IE7为什么要这么做?原来一切就为了一个简单的兼容而已,但让人感慨颇多.     IE7提供XMLHttpRequest对象后,当然会继续支持ActiveX对象XmlHttp,这是微软这么几十年来产品升级起码的"素养",丝毫不用我们去担心现在IE上的Ajax应用代码.在Su

用js小类库获取浏览器的高度和宽度信息_javascript技巧

因此当用户在一个较长内容的网页中点击某一个按钮显示DIV层会发现没有任何效果(其实已经在页面的顶部显示了),因此,我们需要准备的知道用户当前的浏览的位置的信息.在实现这个要求之前,先来看看在js中有哪些工具可以让我们使用: 网页可见区域宽: document.body.clientWidth; 网页可见区域高: document.body.clientHeight; 网页可见区域宽: document.body.offsetWidth + " (包括边线和滚动条的宽)"; 网页可见区域

解析浏览器端的AJAX缓存机制_javascript技巧

AJAX的缓存是由浏览器维持的,对于发向服务器的某个url,ajax仅在第一次请求时与服务器交互信息,之后的请求中,ajax不再向服务器提交请求,而是直接从缓存中提取数据. 有些情况下,我们需要每一次都从服务器得到更新后数据.思路是让每次请求的url都不同,而又不影响正常应用:在url之后加入随机内容. e.g. url=url+"&"+Math.random(); Key points: 1.每次请求的url都不一样(ajax的缓存便不起作用) 2.不影响正常应用(最基本的)

JS区分浏览器页面是刷新还是关闭_javascript技巧

Web开发者在系统开发中经常要面对产品经理各式各样的需求,当然,大部分对产品体验还是有帮助的,例如我们今天提到的刷新页面,前进后退,关闭浏览器标签时,为了避免用户误操作,需给出二次确认提示框,这个相信大家都非常熟悉了,采用浏览器提供的BOM事件机制就可以解决,使用window对象的onbeforeunload事件即可,如果产品经理只提出这样的需求,那确实无可厚非,然而其需要的不仅仅是这些... 例如,我们一次项目开发中,产品经理就针对我们的实现提出了"改进方案": 你们这弹出框太丑了,