IE和JavaScript:在调整大小时重新加载窗口

问题描述

| 脚本推理: 根据浏览器检测到的宽度和高度重新加载各种CSS脚本。浏览器调整大小时,需要重新加载窗口才能重新加载其他JavaScript。 发生的问题: IE喜欢不断循环。 与其他脚本的兼容性: Chrome,FireFox,Safari工作 使用的脚本:
<body onResize=\"window.location.href = window.location.href;\">
有人请提出更好的解决方案或建议!这必须适用于Safari,IE和FireFox。 如果逻辑基于哪种类型的浏览器,是否可能呢? 以下解决方案(JQUERY):Internet Explorer中触发window.resize事件
$(document).ready(function(){

var winWidth = $(window).width(),winHeight = $(window).height();

$(window).resize(function(){

onResize = function() {
//The method which sets the LEFT css property which triggers 
//window.resize again and it was a infinite loop
setWrapperPosition($mainWrapper.parent());
}

//New height and width
var winNewWidth = $(window).width(),winNewHeight = $(window).height();

// compare the new height and width with old one
if(winWidth!=winNewWidth || winHeight!=winNewHeight)
{
window.clearTimeout(resizeTimeout);
resizeTimeout = window.setTimeout(onResize,10);
}
//Update the width and height
winWidth = winNewWidth;
winHeight = winNewHeight;
});
});
    

解决方法

我会使用:
window.location.reload()
重新加载页面。 另外,我不确定
onresize
是否受广泛支持。 取而代之的是,我会使用计时器(在此处提供资源http://jsfiddle.net/ACpTm/4/) 但由于样式问题,我真的不建议任何人重新加载页面。这是一种不好的做法,用户不喜欢它,尤其是在带宽有限的情况下。 您能描述为什么需要这样做吗?我们可以提供一个更通用的解决方案。     ,如果您不将CSS基于浏览器的大小,那将会更好。 您可以使用Javascript / jQuery在窗口的onResize事件中调整大小,我过去必须这样做一次,并且一切正常。