首页 > javasrcipt > (转) 实现浏览器全屏窗口的几种方法

(转) 实现浏览器全屏窗口的几种方法

2009年7月7日 发表评论 阅读评论

         浏览网页,时常会发现自己的浏览器窗口不见了,但网页内容还在。这种效果是不是很神奇呢?实现此种功能只要有三种原理,按实现方法的不同,给它们各起了个名字,分别是:瞒天过海法、借尸还魂法和返璞归真法。不要被它们的名字吓着了,其实实现起来并不困难,只要看了下面的内容,就明白个中道理了!

 

一、瞒天过海法-javascript

  我们知道,显示器的分辩率大小决定了我们看到的程序窗口的面积大小,分辩率越大,窗口面积越大,看到的内容就越多。但并不是说显示面积越大就越好,因为分辩率的变化会带来菜单文字的变化,可能会影响软件界面的字体美观。此乃题外话,就不细说了。浏览器同样是一种程序,其窗口的大小,我们可以利用脚本语言来控制调整,这样我们就可以实施瞒天过海法来达到全屏目的,方法是在网页文件的头部,也就是 < head > 与 < /head > 标签之间加上下面这段 javascript 代码:

< script >
< !–
function omiga_window(){
window.open(“12.htm”,”",”fullscreen=1,menubar=0,toolbar=0,directories=0,location=0,
status=0,scrollbars=0″)
}
//– >

< /script >

  代码功能是由一个网页调出另一个浏览器窗口,加上设置语句,设置新窗口的大小为全屏,然后新的网页内容就显示在此窗口里,借此实现了全屏。

  不要忘记在网页文件的 < body > 标签里加上加载网页里调用函数的代码。代码设置如下:

< body onload=”omiga_window()” onBlur=”self.close()” scroll=”no” >
 

二、借尸还魂法  可能有些朋友见到代码就害怕。告诉你,不怕!不懂脚本代码的我们可以使用 Dreamweaver 的插件,借尸还魂!实现全屏!

 

  首先我们到点击下载 “MFX-fullscreen.mxp”插件 到自己的硬盘里,接着打开 Dreamweaver4 菜单栏“Commands”,选择“Manage Extensions”命令,打开插件管理工具“Macromedia Extension Manager”,按“Ctrl i”快捷键把插件安装好。

  接下来的事情就相当轻松了,重新启动一次 Dreamweaver4 ,按“Shift F3”打开行为面板,再按快捷键“Ctrl Tab”进入源代码窗口,点击行为面板的加号按钮,在弹出的菜单中选择“MFX”里的“MFX-fullscreen”命令马上可以看到 < head > 和 < /head > 是加入了全屏的代码,同时 < body > 里也加入了“onLoad”加载函数。按 F12 就可以看到全屏的效果。注意,没有进入源代码窗口该命令呈灰色,是不可选的。

  没有插件的朋友可以复制以下代码到网页文件:

< script language=”JavaScript” >
< !–
function MachakFull(Ie,other){

x=screen.availWidth;
y=screen.availHeight;
target = parseFloat(navigator.appVersion.substring(navigator.appVersion.indexOf(‘.’)-1,navigator.appVersion.length));
if((navigator.appVersion.indexOf(“Mac”)!=-1) &&(navigator.userAgent.indexOf(“MSIE”)!=-1) &&(parseInt(navigator.appVersion)==4))
window.open(other,”sub”,’scrollbars=yes’);
if (target >= 4){
if (navigator.appName==”Netscape”){
var MachakFull=window.open(other,”MachakFull”,’scrollbars=yes’,'width=’ x ‘,height=’ y ‘,top=0,left=0′);
MachakFull.moveTo(0,0);
MachakFull.resizeTo(x,y);}
if (navigator.appName==”Microsoft Internet Explorer”)
window.open(Ie,”MachakFull”,”fullscreen=yes”);
}
else window.open(other,”sub”,’scrollbars=yes’);
}
< /script >
< /head >

当然,< body > 里也加入了“onLoad”加载函数,代码如下:

< body bgcolor=”#FFFFFF” text=”#000000″ onLoad=”MachakFull(‘full_window.htm’,”)” >

  看了前面的两种方法,分析源代码,我们注意到,都必须先打开一个原来的窗口,我们称之为A,然后再调出一个新的浏览器窗口,我们称之为B。当 B 窗口打开时,就实现全屏了,并且位于最前面。但前面的两种方法都没有把原来的窗口 A 窗口关闭。我们可以在 < body > 里加入关闭的代码“onBlur=”self.close””或者“onBlur=”javascript:window.closer()””。可是,此两种关闭都会弹出一个关闭的提示框.识网

 无疑它影响了整个网页的显示效果!有办法解决么?当然有!请看下面的返璞归真法: 内容来自www.serverjia.cn电脑硬件知识网

 

三、返璞归真法  此法是最完美的一种全屏方式,实现代码与相应简单,一个完整的全屏网页代码如下:

< html >
< head >
< title >123< /title >
< meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″ >
< script >
< !–
function omiga_window(){
window.open(“full_window.htm”,”",”fullscreen,scrollbars”)
}
//– >
< /script >
< /head >

 

< body onload=”omiga_window()” onblur=”focus();closes.Click();” scroll=”no” >
< object id=closes type=”application/x-oleobject” classid=”clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11″ >
< param name=”Command” value=”Close” >
< /object >
< p > < /p >
< p > < /p >

全屏!

< /body >
< /html >

  实现全屏的代码跟之前的两种方法相类似,差别就在于可以自动关闭原来的A窗口,并且不出现提示。不出现提示的奥妙在于 < body > 标签里的: 内容来自www.serverjia.cn电脑知识网

onblur=”focus();closes.Click();”

以及< body >和< /body >之间的:

< object id=closes type=”application/x-oleobject” classid=”clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11″ >
< param name=”Command” value=”Close” >
< /object >

  要实现返璞归真完美全屏方式,不要漏了上面两段代码哟!

分类: javasrcipt 标签:
  1. 2009年7月28日00:29 | #1

    Hello,
    I was just searching the web and stumbled upon this beautiful website. I would like to let the site’s owner know that they are doing a great job with this website. I am also working to develop my own website as well. Unfortunately, things aren’t going so well, but I do not understand much about web development. I have tried really hard, but things just aren’t working for me. I have been using wordpres and doing the best that I can though. If someone has knowledge of web design and cares to give me any tips, I would love to here them.
    My website is here: online pharmacy no prescription My site is actually not a online pharmacy, it is just a blog about them.

    Thank You and I would greatly appreciate any comments.

  1. 本文目前尚无任何 trackbacks 和 pingbacks.