繁体   English   中英

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

[英]IE and JavaScript: window reload on resize

脚本推理:根据浏览器检测到的宽度和高度重新加载各种 CSS 脚本。 Window 重新加载需要在浏览器调整大小时重新加载其他 JavaScript。

出现问题: IE 喜欢不断循环。

与其他脚本的兼容性:Chrome、FireFox、Safari 工作

使用的脚本:

<body onResize="window.location.href = window.location.href;">

有人请提出更好的解决方案或建议,这必须适用于 Safari。 IE 和 FireFox。

如果逻辑基于什么类型的浏览器,可能还有其他情况?

以下解决方案(JQUERY): window.resize 事件在 Internet Explorer 中触发

$(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 来调整 window onResize 事件中的大小,我过去必须这样做一次,它工作正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM