IE和JavaScript:调整大小时重新加载窗口
IE and JavaScript: window reload on resize
脚本推理:根据浏览器检测到的宽度和高度重新加载各种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事件窗口中调整大小,我过去曾经这样做过一次,效果很好。
相关文章:
- 创建新数据和加载现有数据需要单独的视图吗
- 钛 - HTTPClient:打开新的控制器加载
- 保持 JavaScript 在浏览器控制台中运行,即使在新的页面加载之后也是如此
- 路由到新页面时加载不起作用
- 如何在新窗口完成加载后执行某些内容
- 使用新标题重新加载 html 页面
- Primefaces在打开新页面时加载数据消息
- Wordpress音频播放器和平滑状态.在新页面重新加载播放器时调用什么回调函数
- 用新数据重新加载renderer3d
- 文本不被渲染后,新的页面加载- JQuery移动
- 需要在新标签中加载pdf/doc文件,而不是下载,只是想在浏览器中阅读
- 用新参数重新加载页面
- Js和CSS不检测新页面何时加载
- 在新页面上加载一个flash视频,它在上一页上的位置
- 在新窗口中加载代码编写器视图
- 在控制台中使用新脚本重新加载页面
- 如何在加载新页面后加载AJAX数据
- 如何使用jQuery在新窗口中加载页面,然后关闭它们
- Jquery没有看到新的HTML加载到对话框中
- 无法用新值重新加载JGrid