javascript之解决IE下不渲染的bug
2007-06-29 00:00
531 查看
有时候,你会发现,在一些JS应用中,涉及到CSS的重新渲染(即页面样式需要更新)的话,IE死活不变。
此时你需要让IE重新渲染一下:
function handleIEhasLayout(){
//trigger re-rendering
document.body.style.zoom = 1.1;
//restore it
document.body.style.zoom = '';
}
有问题,记得执行一下handleIEhasLayout,万事OK。
原文:http://realazy.org/blog/2007/04/02/ie-haslayout-rerendering/
引用
IE5 似乎没有这个问题,IE6 有,我的 IE7 还是 beta2,版本号是 7.0.5346.5,也没有这个问题,一个朋友用的 beta3 版本号是 7.0.5450.4 居然说也有问题,我没有测试,用这个版本 IE 的朋友可以帮忙看看。
Dnew.cn 注:用这段代码似乎更好一些:
function reflow(){
var b = document.body;
b.style.zoom = b.style.zoom=="1"?"100%":"1";
}
使用style.zoom在某些情况下还会出现不能全部渲染的问题,比如页面内容很少,没有占满屏幕。
(shiweiwei97)的方法是:
document.body.style.display = “none”;
document.body.style.display = “”;
此时你需要让IE重新渲染一下:
function handleIEhasLayout(){
//trigger re-rendering
document.body.style.zoom = 1.1;
//restore it
document.body.style.zoom = '';
}
有问题,记得执行一下handleIEhasLayout,万事OK。
原文:http://realazy.org/blog/2007/04/02/ie-haslayout-rerendering/
引用
IE5 似乎没有这个问题,IE6 有,我的 IE7 还是 beta2,版本号是 7.0.5346.5,也没有这个问题,一个朋友用的 beta3 版本号是 7.0.5450.4 居然说也有问题,我没有测试,用这个版本 IE 的朋友可以帮忙看看。
Dnew.cn 注:用这段代码似乎更好一些:
function reflow(){
var b = document.body;
b.style.zoom = b.style.zoom=="1"?"100%":"1";
}
使用style.zoom在某些情况下还会出现不能全部渲染的问题,比如页面内容很少,没有占满屏幕。
(shiweiwei97)的方法是:
document.body.style.display = “none”;
document.body.style.display = “”;
相关文章推荐
- javascript之解决IE下不渲染的bug
- IE 9渲染overflow的bug及解决
- 解决JS在IE下不渲染的Bug
- 【CSS提升】理解IE渲染引擎的haslayout属性——据此解决IE下大部分的bug
- ie不执行javascript的解决办法
- 解决file美化后在IE中的两个bug
- IE6、IE7下绝对定位position:absolute和margin的冲突bug解决方法
- JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结
- 解决IE文字重复显示BUG
- IE与Firefox的几个javascript兼容问题及解决
- <转>JavaScript的IE和火狐的兼容性解决办法
- javascript的setTimeout用法,以及一些bug的解决
- IE下动态创建Input出现bug的解决方法
- 解决FF中的bug:JavaScript focus() throws "Permission denied to get property XULElement.selectedIndex"
- JavaScript 解决浮点值运算Bug
- Javascript在IE下设置innerHTML时出现未知的运行时错误的解决方法
- IE与FireFox的JavaScript兼容问题解决办法
- javascript在IE下不能用 trim函数解决方法
- bug:解决httpie测试出现 no module named _cursors