簡體   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