IE 瀏覽器隱身大法
瀏覽網(wǎng)頁(yè),時(shí)常會(huì)發(fā)現(xiàn)自己的瀏覽器窗口不見了,但網(wǎng)頁(yè)內(nèi)容還在。這種效果是不是很神奇呢?實(shí)現(xiàn)此種功能只要有三種原理,按實(shí)現(xiàn)方法的不同,給它們各起了個(gè)名字,分別是:瞞天過海法、借尸還魂法和返璞歸真法。不要被它們的名字嚇著了,其實(shí)實(shí)現(xiàn)起來并不困難,只要看了下面的內(nèi)容,就明白個(gè)中道理了!
一、瞞天過海法-javascript
我們知道,顯示器的分辯率大小決定了我們看到的程序窗口的面積大小,分辯率越大,窗口面積越大,看到的內(nèi)容就越多。但并不是說顯示面積越大就越好,因?yàn)榉洲q率的變化會(huì)帶來菜單文字的變化,可能會(huì)影響軟件界面的字體美觀。此乃題外話,就不細(xì)說了。瀏覽器同樣是一種程序,其窗口的大小,我們可以利用腳本語言來控制調(diào)整,這樣我們就可以實(shí)施瞞天過海法來達(dá)到全屏目的,方法是在網(wǎng)頁(yè)文件的頭部,也就是 < head > 與 < /head > 標(biāo)簽之間加上下面這段 javascript 代碼:
< script >
< !--
function omiga_window(){
window.open("12.htm","","fullscreen=1,menubar=0,toolbar=0,directories=0,location=0,
status=0,scrollbars=0")
}
//-- >
< /script >
代碼功能是由一個(gè)網(wǎng)頁(yè)調(diào)出另一個(gè)瀏覽器窗口,加上設(shè)置語句,設(shè)置新窗口的大小為全屏,然后新的網(wǎng)頁(yè)內(nèi)容就顯示在此窗口里,借此實(shí)現(xiàn)了全屏。
不要忘記在網(wǎng)頁(yè)文件的 < body > 標(biāo)簽里加上加載網(wǎng)頁(yè)里調(diào)用函數(shù)的代碼。代碼設(shè)置如下:
< body onload="omiga_window()" onBlur="self.close()" scroll="no" >
二、借尸還魂法
可能有些朋友見到代碼就害怕。告訴你,不怕!不懂腳本代碼的我們可以使用 Dreamweaver 的插件,借尸還魂!實(shí)現(xiàn)全屏!
首先我們到點(diǎn)擊下載 “MFX-fullscreen.mxp”插件 到自己的硬盤里,接著打開 Dreamweaver4 菜單欄“Commands”,選擇“Manage Extensions”命令,打開插件管理工具“Macromedia Extension Manager”,按“Ctrl + i”快捷鍵把插件安裝好。
接下來的事情就相當(dāng)輕松了,重新啟動(dòng)一次 Dreamweaver4 ,按“Shift + F3”打開行為面板,再按快捷鍵“Ctrl + Tab”進(jìn)入源代碼窗口,點(diǎn)擊行為面板的加號(hào)按鈕,在彈出的菜單中選擇“MFX”里的“MFX-fullscreen”命令馬上可以看到 < head > 和 < /head > 是加入了全屏的代碼,同時(shí) < body > 里也加入了“onLoad”加載函數(shù)。按 F12 就可以看到全屏的效果。注意,沒有進(jìn)入源代碼窗口該命令呈灰色,是不可選的。
沒有插件的朋友可以復(fù)制以下代碼到網(wǎng)頁(yè)文件:
< script language="JavaScript" >
< !--
function MachakFull(Ie,other){
//Copyright ?1999 m.milicevic http://www.qhdsite.cn
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 >
當(dāng)然,< body > 里也加入了“onLoad”加載函數(shù),代碼如下:
< body bgcolor="#FFFFFF" text="#000000" onLoad="MachakFull('full_window.htm','')" >
看了前面的兩種方法,分析源代碼,我們注意到,都必須先打開一個(gè)原來的窗口,我們稱之為A,然后再調(diào)出一個(gè)新的瀏覽器窗口,我們稱之為B。當(dāng) B 窗口打開時(shí),就實(shí)現(xiàn)全屏了,并且位于最前面。但前面的兩種方法都沒有把原來的窗口 A 窗口關(guān)閉。我們可以在 < body > 里加入關(guān)閉的代碼“onBlur="self.close"”或者“onBlur="javascript:window.closer()"”?墒,此兩種關(guān)閉都會(huì)彈出一個(gè)關(guān)閉的提示框.
無疑它影響了整個(gè)網(wǎng)頁(yè)的顯示效果!有辦法解決么?當(dāng)然有!請(qǐng)看下面的返璞歸真法:
三、返璞歸真法
此法是最完美的一種全屏方式,實(shí)現(xiàn)代碼與相應(yīng)簡(jiǎn)單,一個(gè)完整的全屏網(wǎng)頁(yè)代碼如下:
< 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 >
實(shí)現(xiàn)全屏的代碼跟之前的兩種方法相類似,差別就在于可以自動(dòng)關(guān)閉原來的A窗口,并且不出現(xiàn)提示。不出現(xiàn)提示的奧妙在于 < body > 標(biāo)簽里的:
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 >
要實(shí)現(xiàn)返璞歸真完美全屏方式,不要漏了上面兩段代碼喲!