ie8 $(window).width() 值为0 问题

在调试IE8兼容性问题时,发现弹框无法居中,部分正常。经过排查,发现是由于在JSP页面中,`<include>`标签位于文档类型声明之前,导致IE8以怪异模式渲染,使得$(window).width()返回0。修正`<include>`标签的位置后,问题得到解决。提醒开发者注意避免此类埋雷。
摘要由CSDN通过智能技术生成

这周工作调试兼容性问题,好几年没弄这些了,重操旧业啊

遇到的第一个问题就是:

ie8 弹框不居中,关键是有的居中,有的不居中。页面框架是基于jQuery UI,jQuery本身的dialog肯定没问题啊,要是有问题也不可能一部分显示正常了,而且我看了jQuery UI  的demo,ie8 妥妥的,没问题。

我们是这么用的,先封装了一个jyDialog,把内容创建之后,再调用jQuery UI 的 dialog。

that.dialog=that.container.dialog(dialogJson);

我一开始就分析显示正常的和显示不正常的写法有何不同,一个加载内容是 iframe,一个是常规页面。纠结啊,打断点啊,都定位不到问题。好崩溃~~~~~~

然后由于嵌套太深,IE8还看不了iframe内容。我就把那个弹框页面单摘出来,在我们封装那个jyDialog 打断点,一步一步,一遍一遍。都定位不了问题,貌似也没问题。

然后我就看jQuery UI的dialog处的源码,一步一步 ,终于找到

this._position(); 

_position: function() {
		// Need to show the dialog to get the actual offset in the position plugin
		var isVisible = this.uiDialog.is(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值