网络编程 
首页 > 网络编程 > 浏览文章

浅析IE10兼容性问题(frameset的cols属性)

(编辑:jimmy 日期: 2026/4/23 浏览:3 次 )

最近需求涉及浏览器的兼容性,首先处理的是ie10。

主页用 frameset 嵌了两个页面,左侧为菜单栏,可以通过改变 frameset 的 cols 来收缩。别的浏览器正常,但 IE10 却没任何的反应。
复制代码 代码如下:
function hide_show(){
if(window.parent.outer_frame.cols=="0,10,*"){
frameshow.src="/UploadFiles/2021-04-02/left_handle.gif">div_hide_show.title="隐藏"
window.parent.outer_frame.cols = "210,10,*";
}else{
frameshow.src="<%=request.getContextPath()%>/common/images/right_handle.gif">div_hide_show.title="显示"
window.parent.outer_frame.cols = "0,10,*";
}
}

设置cols无效果,设置rows可以,这个是由于IE10的BUG问题,需要调整页面大小才会生效:
复制代码 代码如下:
function hide_show(){
if(window.parent.outer_frame.cols=="0,10,*"){
frameshow.src="/UploadFiles/2021-04-02/left_handle.gif">div_hide_show.title="隐藏"
window.parent.outer_frame.cols = "210,10,*";
}else{
frameshow.src="<%=request.getContextPath()%>/common/images/right_handle.gif">div_hide_show.title="显示"
window.parent.outer_frame.cols = "0,10,*";
}

/*force ie10 redraw*/
if(navigator.userAgent.indexOf('MSIE 10.0') != -1){
var w = parent.document.body.clientWidth;
parent.document.body.style.width = w + 1 + 'px';
setTimeout(function(){
parent.document.body.style.width = w - 1 + 'px';
parent.document.body.style.width = 'auto';
}, 0);
}
}

上一篇:解决JS中乘法的浮点错误的方法
下一篇:js在输入框屏蔽按键,只能键入数字的示例代码
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。