浏览器的兼容问题/原因[转贴]

以前引用过经典狼大狗的一篇关于 JS在IE/ff的兼容性的文章,虽然很实用,但是僧多粥少啊! 刚好 经典有置顶贴里面有关于这方面的内容,就转过来了。稍微整理了下! 关于用脚本设置onload事件句柄

<body> <script> document.body.οnlοad=function(){alert("!")} </script> </body>

在IE、Opera均正常有效,唯独FF既不执行,也不报错,因为在FF,document.body.onload是undefined(未定义),把一个函数赋值给undefined 既不会发生什么事情,也不算出错。 解决方法:

<body> <script> window.οnlοad=function(){alert("!")} </script> </body>

关于浮动代码和 documentElement / body 常常有人提问,为什么 漂浮广告 / 对联代码 在 xHTML 1.1 DTD 文件头 / FF 下不能使用 这是因为,按照标准来说,我们看到的窗体的滚动条不应该是 body 的,而是 HTML 的(也就是 document.documentElement 对象) 所以,解决办法是,把以前不标准的代码中, document.body.scrollTop 或者类似的代码变换为 document.documentElement.scrollTop 同名的dom函数(getElementsByName)在ie和firefox下不同表现 [ 可以先修改再运行 ] IE下,用的getElementsByName结果,ID的权值大于name,但是在FF下却不是的 节点在ie和firefox下的不同 节点在ie和firefox下的不同: childNodes、firstChild、nextSibling、previousSibling [ 可以先修改再运行 ] 取得元素的真实css属性

/** *取得元素的真实css属性 *written in 06.7 sheneyan */ function gs(d,a){   if (d.currentStyle){      var curVal=d.currentStyle[a]   }else{      var curVal=document.defaultView.getComputedStyle(d, null)[a]   }    return curVal; }

png半透明图片作背景的兼容方案 png半透明图片作背景的兼容方案(IE5.5+,Firefox1.5,Opera9通过) 为每个png背景建一个这样的类:

/*non IE*/ html>body .pngbg1 {     background: url(../img/toumbg.png) repeat; } /*IE*/ html .pngbg1 {     filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src="img/toumbg.png"); }

然后设置容器的class="pngbg1"即可. (备注:"background: url()"的路径相对于文档, "AlphaImageLoader"的路径相对于站点根目录) 在IE下可以直接这样用: Js的实现方式见另外一篇文章: JS小技巧总汇 ie/firefox:禁止选择文字 在ie下,禁止用户选择内容,用脚本可以实现: [ 可以先修改再运行 ] 而在firefox,这样子的写法没法实现相同的功能,刚才google了一下,找到一个类似的功能,不过居然是在css下实现的:

<style> html *{-moz-user-select: none;} </style> <body> 试试看能否选择这些文字? </body>

ie/ff脚本取得样式表属性float的异同 ie下:style.styleFloat ff下:style.cssFloat [ 可以先修改再运行 ] 鼠标按键常量在ie和firefox下的不同 [ 可以先修改再运行 ] FF下。左键返回值是0,IE下返回值是1,但是右键都是2,FF居然有跳级。 IE 与 FF 对透明背景的元素表现不同 背景透明的元素( 底下也没有背景 )在 IE 中是点不到的, FF 中就可以 [ 可以先修改再运行 ] 另外: FF 下没有 event 用 arguments[0] FF 下没有 srcElement 用 target FF 下没有 parentElement 用 parentNode 总结:

function obj_event_onsomething(e){ var e=window.event?window.event:e; var srcEle=e.srcElement?e.srcElement:e.target; var theObjectYouWant=srcEle.parentNode; }

document.all.tags=document.getElementsByTagName 以前一直都认为document.all是IE 才有的东西,但是FF2.0居然页支持
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值