为了账号安全,请及时绑定邮箱和手机立即绑定

谷歌浏览器,关于offsetHeight 兼容性问题,四种方式输出,每种都不一样,到底那种比较靠谱?

 <script type="text/javascript">
 
   var dw = document.documentElement.offsetWidth;
   var dh = document.documentElement.offsetHeight;
   document.write("dw:"+dw + "<br> dh:"+dh);
   document.write("<br>");
   
   var bw = document.body.offsetWidth;
   var bh = document.body.offsetHeight;
   document.write("dw:"+bw + "<br> dh:"+bh);
   document.write("<br>");
   
   var bdw = document.body.offsetWidth || document.documentElement.offsetWidth;
   var bdh = document.body.offsetHeight || document.documentElement.offsetHeight;
   document.write("bdw:"+bdw +"<br> bdh:"+bdh);
   document.write("<br>");
   
   var dbw = document.documentElement.offsetWidth || document.body.offsetWidth;
   var dbw = document.documentElement.offsetHeight || document.body.offsetHeight;
   document.write("dbw:"+dbw +"<br> dbw:"+dbw);
   
</script>

http://img1.sycdn.imooc.com//581aa2e70001532b09250561.jpg

正在回答

3 回答

谷歌浏览器都兼容以上四种方式的,依照自己习惯就好,三四种可以解决不同浏览器之间兼容问题。

4 回复 有任何疑惑可以回复我~

这有什么好纠结的,很明显第3,4中是综合1,2的呀,3,4,其实没区别,就是写法上顺序反过来了而已。

你不明白 “||”这个符号的意思你才会这么纠结,“||”是“或”的意思,让浏览器在两种写法之间任取一种他能解析的使用就行。

所以说,3,4是为了兼容不同浏览器的写法,1,2是不兼容的写法,

推荐你实际编写过程中,选用3或4.

0 回复 有任何疑惑可以回复我~

有问题,我测了一下,你document.write是在页面上输出的,所以页面上是占位的; 

你里面的document.documentElement 应该是针对ie低版本做的兼容,还有楼上的回答那么烂也能是最佳答案,做程序员要有底线啊

0 回复 有任何疑惑可以回复我~
#1

慕运维0582399

document.documentElement 针对ie低版本做的兼容是我的推测,因为没用过 知道的朋友可以详细说一下
2016-11-16 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

谷歌浏览器,关于offsetHeight 兼容性问题,四种方式输出,每种都不一样,到底那种比较靠谱?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号