RE:自動檢測屏幕分辨率並使用Javascript更改瀏覽器縮放?
的問題是完全可能的,實際上是在我們的網站在這裏:
www.noteswithwings.com
JS檢測屏幕的寬度縮小或稍微適應到內容屏幕。
此外,如果用戶調整窗口大小,則會觸發縮放。 這實際上到平板電腦大小的屏幕和屏幕小如iphone有助於配合內容,而不增加額外的樣式或者具有檢測OS /瀏覽器..
var oldZoom = $(window).width();
var windowWidth = $(window).width();
check_window_size(windowWidth,1,bsr,bsr_ver);
$(window).resize(function() {
var windowWidthnow = $(window).width();
check_window_size(windowWidthnow,2,bsr,bsr_ver);
});
function check_window_size(size,init_var,bsr,bsr_ver)
{
/* Develop for resizing page to avoid grey border!
Page layout 1265px wide.
On page resize shift layout to keep central, zoom BG-img to fill screen
Zoom content down for smaller screens by 5% to keep content flow!
*/
//change this var for screen width to work with, in this case our site is built at 1265
var wdth = 1265;
//Change this variable for minimum screen;
var smallest_width=1120;
var varZoom= $(window).width()/wdth;
var s_size = $(window).width();
var scale_smaller;
var center = (s_size-wdth)/2;
var its_ie=false;
if(size<=smallest_width)
{
$("#old_browser").css("width","50%").css({"height":"40px","left": center+"px"});
if(!check_for_object(false,"moved_pages"))
{
if(center<-110)//margin width!
{
if(!its_ie)
$("#scroller").css("zoom",0.95);
$("#footer").css("zoom",0.9).css("left",120+"px");
$(".colmask").css("left",-110+"px");
if(check_for_object(false,"move_menu_loggedin"))
$("#move_menu_loggedin").css("right","110px");
if(check_for_object(false,"login_div"))
$("#login_div").css("left","-80px");
return;
}
$("#move_menu_loggedin").css("left","-"+center+"px");
$("#scroll").css("zoom","normal");
$(".colmask").css("left",center+"px");
}
else
{
/*Only pages that you do not want to move the colmask for!*/
$("#scroller").css("zoom",0.90);//.css("left","-50px");;
$("#footer").css("zoom","normal");
}
}
else
{
if(size>wdth)
$("#background").css("zoom",varZoom);
$("#scroller").css("zoom","normal");
$("#footer").css({"zoom":"normal","left":0});
if(!check_for_object(false,"moved_pages"))
{
$(".colmask").css("left",center+"px");
$(".colmask").css("zoom","normal");
var movelog = -center;
if(check_for_object(false,"move_menu_loggedin"))
$("#move_menu_loggedin").css("right",movelog +"px");
if(check_for_object(false,"login_div"))
$("#login_div").css("left","80px");
}
else
{
$(".colmask").css("zoom","normal");
}
}
}
- check_window_size(WINDOWWIDTH,1,BSR,bsr_ver );使用php類檢測bsr & bsr_ver。
- #old_browser是一個包含信息,如果你有一箇舊的網頁瀏覽器。 - #background是固定圖像100x100%的屏幕。
正如您所見,我們還移動了一些不在包含div範圍內的項目。 Colmask是包含大部分頁面內容的div(對於我們位於標題下面的這就是爲什麼我們手動移動一些項目)
希望代碼片段可以幫助其他人實現此目的。
看到這一點:http://stackoverflow.com/questions/2517830/possible-to-auto-zoom-out-if-users-resolution-x – 2010-07-06 11:20:00
你爲什麼要這麼做? :)用戶習慣於其他網站在瀏覽器中的規模相同,他們可能*不希望您的內容大小不同。 – 2010-07-06 11:20:44
如果該網站鏈接在發佈後的3年內發生了變化,則此答案變得毫無用處。我希望答案包含解決此問題所需的所有代碼。 – 2013-05-18 12:10:46