|
实现浏览器全屏窗口的几种方法(2) 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()"”。可是,此两种关闭都会弹出一个关闭的提示框,如下图:

无疑它影响了整个网页的显示效果!有办法解决么?当然有!请看下面的返璞归真法:
三、返璞归真法
此法是最完美的一种全屏方式,实现代码与相应简单,一个完整的全屏网页代码如下:
< 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" >
|