最近需求涉及浏览器的兼容性,首先处理的是ie10。
主页用 frameset 嵌了两个页面,左侧为菜单栏,可以通过改变 frameset 的 cols 来收缩。别的浏览器正常,但 IE10 却没任何的反应。
不是报错,调试时打印出来cols值也确实地改变了,但布局没发生变化,看msdn上老外的一个解决方案:
于是尝试着调整浏览器窗口大小,奇迹发生了,浏览器窗口大小变化时才会触发布局变更。这应该算是ie10的一个bug吧,在测试rows属性时候正常,只有cols会有这个问题。
解决思路,尝试强制浏览器重新渲染,修改body宽度或者高度均可(微小修改即可)。
原方法:
frameset页面:
修改switchLeftFrame方法:
最终效果: