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

IE and JavaScript: window reload on resize

本文关键字:新加载 加载 窗口 小时 JavaScript 调整 IE      更新时间:2023-09-26

脚本推理:根据浏览器检测到的宽度和高度重新加载各种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事件窗口中调整大小,我过去曾经这样做过一次,效果很好。