IE8 兼容性问题(属性名区分大小写)_javascript技巧

如果将其中的属性height写成不是全部小写的时候,如写成 window.screen.Height或window.screen.heighT时,在IE6、IE7下可以得到值(IE6、IE7不区分大小写),在IE8下为undefined(IE8区分大小写),所以发生问题。
例:

复制代码 代码如下:

<html>
<body>
<input type="button" value="Test" onclick="showMessage()">
</body>
<script lang="javascript">
function showMessage(){
alert(window.screen.Height);
}
</script>
</html>

解决方法:不区分大小写直接替换所有html、js和jsp文件即可。
INS系统中已知需要替换的属性列表:
window.screen.height (误写为window.screen.Height)
window.screen.width (误写为window.screen.Width)

时间: 2025-01-20 13:23:30

IE8 兼容性问题(属性名区分大小写)_javascript技巧的相关文章

详解JavaScript中的属性和特性_javascript技巧

JavaScript中属性和特性是完全不同的两个概念,这里我将根据自己所学,来深入理解JavaScript中的属性和特性. 主要内容如下: 理解JavaScript中对象的本质.对象与类的关系.对象与引用类型的关系 对象属性如何进行分类 属性中特性的理解  第一部分:理解JavaScript中对象的本质.对象与类的关系.对象与引用类型的关系 对象的本质:ECMA-262把对象定义为:无序属性的集合,其属性可以包含基本值.对象或者函数.即对象是一组没有特定顺序的值,对象的每个属性或方法都有一个名字

js获取某元素的class里面的css属性值代码_javascript技巧

用js如何获取div中css的 margin.padding.height.border等.你可能说可以直接用document.getElementById("id").style.margin获取.但是你说的只能获取直接在标签中写的style的属性,无法获取标签style外的属性(如css文件中的属性).而下面方法则两者值都可以获取.实例效果图如下:   js在获取css属性时如果标签中无style则无法直接获取css中的属性,所以需要一个方法可以做到这点.getStyle(obj,

js获取浏览器高度 窗口高度 元素尺寸 偏移属性的方法_javascript技巧

如下所示: screen.width screen.height screen.availHeight //获取去除状态栏后的屏幕高度 screen.availWidth //获取去除状态栏后的屏幕高度 一.通过浏览器获得屏幕的尺寸 二.获取浏览器窗口内容的尺寸 //高度 window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight //宽度 window.innerWidth

IE8下关于querySelectorAll()的问题_javascript技巧

当用querySelector()或querySelectorAll()查找类似name="2nd_btn"的元素时,FF,chrome和IE8都会报错. FF,chrome报的错是一样的,如下所示: Error: uncaught exception: [Exception... "An invalid or illegal string was specified" code: "12" nsresult: "0x8053000c

js兼容的placeholder属性详解_javascript技巧

作为一个.net后台开发的程序猿,博客里既然大多都是前端相关的博文.是不是该考虑换方向了,转前端开发得了 ... 小小吐槽一下,近期受该不该跳槽所困惑,我有选择困难症! 继续前端,这次说一下输入框 placeholder 这个属性. html5 的新属性,就是在输入框没输入值的时候,显示的提示文字(自己的理解),例如: 貌似很好用,但也只能在支持 html 的浏览器版本中显示,而对于不能支持的浏览器版本,让我这种极力追求完美的开发者来说是很不舒服的一件事. 上网找了很多资料,有很多大牛人都已经有

解决bootstrap导航栏navbar在IE8上存在缺陷的方法_javascript技巧

在Bootstrap的官网上,提供了一种导航栏的组件: 只要在站点文件夹放好JQ与Bootstrap输入如下代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml

ie 7/8不支持trim的属性的解决方案_javascript技巧

在ie 7 8浏览器中,如果使用trim()属性去除空格的话,则会导致报错. 因此解决这个问题有如下方案: var aa = $("#id").val().trim()   --- 在IE中无法解析trim() 方法 解决办法: [   var aa = $.trim($("#id").val());  ] 这个不好用,还是用下面介绍的吧,第一个已经过测试.  W3C那帮人的脑袋被驴踢了,直到java script1.8.1才支持trim函数(与trimLeft,t

JavaScript prototype属性深入介绍_javascript技巧

每个函数创建时默认带有一个prototype属性,其中包含一个constructor属性,和一个指向Object对象的隐藏属性__proto__.constructor属性的值为该函数的对象.在一个函数前面加上new来调用,则会创建一个隐藏连接到该函数prototype成员的新对象(由__proto__属性来链接),同时函数的this将会被绑定到那个新对象上. 函数总是返回一个值:如果没有指定返回值,就返回undefined:如果当做构造函数来调用,且返回值不是对象,则返回this(该新对象):

JavaScript中为元素加上name属性的方法_javascript技巧

今天遇到个小问题, 在构建 DOM 时, IE 中不能通过 element.setAttribute('name', _variable); 和 element.name = _variable; 这样的形式来为元素加上 name 属性, 无论是 IE6 还是 IE7. (IE8 是可以的, 但 IE8rc1 不行) 后来我查看了 MSDN, 得到信息如下: 复制代码 代码如下: Internet Explorer 8 and later can set the NAME attribute a