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