前言

JavaScript中很多坑,其中对浏览器的兼容也是一个问题,本文就简略的归纳了部分针对浏览器兼容问题的写法的例子,旨在便于查找。如果读者有什么好的意见建议,请留言交流,谢谢!
window窗口大小
1.在IE9+、Chrome、Firefox、Opera以及Safari中
window.innerHeight获取浏览器窗口的内部高度
window.innerWidth获取浏览器窗口的内部宽度
var msg = "窗口宽度:" + window.innerHeight + "\n窗口高度:" + window.innerWidth; alert(msg );
2.在IE5/6/7/8(Chrome和Firefox也支持)
document.documentElement.clientHeight
document.documentElement.clientWidth
var msg = "窗口宽度:" + document.documentElement.clientWidth + "\n窗口高度:" + document.documentElement.clientHeight; alert(msg);
3.兼容写法(可以涵盖所有的浏览器)
就是把前两者的写法相 “或”。
var w = window.innerWidth || document.documentElement.clientWidth;
var h = window.innerHeight || document.documentElement.clientHeight;
alert("窗口宽度:" + w + "\n窗口高度:" + h);
获取内部样式表和外部样式表
1.对IE浏览器:对象.currentStyle[“属性名”]
2.其他浏览器:window.getComputedStyle(对象, null)[“属性名”]
注意:内部样式表中的属性和外部样式表中的属性只能获取不能修改。如果想修改需要通过行间样式表修改,行间样式表的优先级最高,会覆盖内部样式表和外部样式表。
为了简化书写和兼容浏览器,一般封装一个方法。如下列。
<body>
<div id="box1"></div>
<script type="text/javascript">
var box1 = document.getElementById("box1");
// alert(box1.currentStyle["width"]); //只支持IE浏览器
// alert(window.getComputedStyle(box1, null)["height"]); //支持浏览器外的其他浏览器
alert(getStyle(box1, "backgroundColor"));
/*
为了简化书写和兼容浏览器,一般封装一个方法出来
*/
function getStyle (obj, attributeName) {
if(obj.currentStyle){ //如果存在对象,则是在ie浏览器
return obj.currentStyle[attributeName];
}else { //其他浏览器
return window.getComputedStyle(obj, null)[attributeName];
}
}
</script>
</body>
onscroll事件
<script type="text/javascript">
window.onscroll = function () {
console.log("开始滚动...");
//跨浏览器获得滚动的距离
console.log(document.documentElement.scrollTop | document.body.scrollTop);
}
</script>
事件对象
box.onclick = function(event) {
event = event || window.event;
console.log("offsetX:" + event.offsetX + " offsetY:" + event.offsetY);
console.log("screenX:" + event.screenX + " screenY:" + event.screenY);
console.log("clientX:" + event.clientX + " clientY:" + event.clientY);
console.log("pageX:" + event.pageX + " pageY: " + event.pageY);
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# javascript浏览器兼容
# javascript兼容性问题
# Javascript 多浏览器兼容性问题及解决方案
# 文本框中
# 回车键触发事件的js代码[多浏览器兼容]
# js 获取屏幕各种宽高的方法(浏览器兼容)
# 兼容多浏览器的JS 浮动广告[推荐]
# 多浏览器兼容性比较好的复制到剪贴板的js代码
# JS网页播放声音实现代码兼容各种浏览器
# 兼容主流浏览器的JS复制内容到剪贴板
# javascript获取设置div的高度和宽度兼容任何浏览器
# js获取键盘按键响应事件(兼容各浏览器)
# 解决ExtJS在chrome或火狐中正常显示在ie中不显示的浏览器兼容问题
# js操作iframe兼容各种主流浏览器示例代码
# 取得窗口大小 兼容所有浏览器的js代码
# 样式表
# 行间
# 法相
# 有什么
# 则是
# 一个问题
# 中对
# 大家多多
# documentElement
# clientHeight
# clientWidth
# document
# alert
# getComputedStyle
# null
# class
# currentStyle
# JavaScript
# strong
# msg
相关文章:
制作网站的基本流程,设计网站的软件是什么?
建站主机选哪种环境更利于SEO优化?
如何通过wdcp面板快速创建网站?
制作营销网站公司,淘特是干什么用的?
如何高效完成自助建站业务培训?
如何在阿里云域名上完成建站全流程?
如何在阿里云部署织梦网站?
导航网站建站方案与优化指南:一站式高效搭建技巧解析
零服务器AI建站解决方案:快速部署与云端平台低成本实践
如何在阿里云完成域名注册与建站?
如何选择高效便捷的WAP商城建站系统?
手机网站制作与建设方案,手机网站如何建设?
c# Task.ConfigureAwait(true) 在什么场景下是必须的
装修招标网站设计制作流程,装修招标流程?
如何快速搭建响应式可视化网站?
香港服务器网站卡顿?如何解决网络延迟与负载问题?
制作网页的网站有哪些,电脑上怎么做网页?
网站插件制作软件免费下载,网页视频怎么下到本地插件?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
如何用好域名打造高点击率的自主建站?
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
建站之星伪静态规则如何设置?
洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?
建站之星后台搭建步骤解析:模板选择与产品管理实操指南
怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?
网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?
高端建站如何打造兼具美学与转化的品牌官网?
网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
如何做静态网页,sublimetext3.0制作静态网页?
建站之星代理费用多少?最新价格详情介绍
php条件判断怎么写_ifelse和switchcase的使用区别【对比】
魔毅自助建站系统:模板定制与SEO优化一键生成指南
建站之星如何配置系统实现高效建站?
云南网站制作公司有哪些,云南最好的招聘网站是哪个?
建站主机数据库如何配置才能提升网站性能?
建站之星后台密码如何安全设置与找回?
制作网站的模板软件,网站怎么建设?
,有什么在线背英语单词效率比较高的网站?
h5在线制作网站电脑版下载,h5网页制作软件?
如何在万网ECS上快速搭建专属网站?
宝塔建站教程:一键部署配置流程与SEO优化实战指南
学校建站服务器如何选型才能满足性能需求?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
如何快速查询域名建站关键信息?
武清网站制作公司,天津武清个人营业执照注销查询系统网站?
如何用AWS免费套餐快速搭建高效网站?
如何通过.red域名打造高辨识度品牌网站?
上海网站制作开发公司,上海买房比较好的网站有哪些?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
*请认真填写需求信息,我们会在24小时内与您取得联系。