JavaScript視窗功能指南之定製新視窗 (轉)

worldblog發表於2007-12-04
JavaScript視窗功能指南之定製新視窗 (轉)[@more@]script視窗功能指南之定製新視窗
(作者:聽風編譯 2001年01月19日 11:35)

  window.open()方法的基本語法結構是:  

  window.open(sURL, sName);

  然而,你可以透過使用2個附加的引數定製新視窗:

  window.open(sURL, sName[, eatures][, bReplace]);

  透過省略這些引數,你可以使用預設特徵。讓我們先看看bReplace引數,它僅僅被Inte Explorer:4和以後版本所支援。只有當第2個引數命名一個已經存在的視窗時,這個引數才有用。它是一個Boolean型數值,如果為true,就表示第一個引數指定的URL替換當前視窗瀏覽位置在歷史中儲存的地址,如果為false,就表示在視窗的瀏覽歷史記錄中建立一個新專案(這是預設情況)。由於這個引數只被的所支援,所以顯得不很有用。下面讓我們看看廣為人知的視窗設定性質。

  open()方法的第3個引數是一個字串,包含一個以逗號分隔的選項列表(不要包含任何空格)。在駛入可用功能的海洋前,先讓我們看看它們的含義所在。這裡有一個例子:

  win = window.open("", "docjs", "location=1,menubar=1,resizable=1");

  這個語句開啟一個可變尺寸的視窗,它帶有一個位址列和一個選單條,而其他的特徵都被關閉。比如,沒有指定status特徵,新視窗就沒有了狀態列。注意,還有幾個其他的方法來定義視窗特徵。下面是幾個和前面語句功能等價的命令:

  win = window.open("", "docjs", "location,menubar,resizable");

  win = window.open("", "docjs", "location=yes,menubar=yes,resizable=yes");

  win = window.open("", "docjs", "location,menubar=1,resizable=yes");

  許多特徵可以是yes,或者是no。對於這些特徵,你也可以使用1代替yes,0代替no。如果你想啟用一個特徵,同樣可以簡單地在sFeatures字串中列出特徵的名字。如果沒有列出,就表示遮蔽該功能(titlebar和hotkeys除外)。sFeatures引數是一個以逗號分隔的功能列表,其中不應該包含任何空格或者空白字元。列表中的每一個元素應該包含下面的格式:

  feature[=value]

  分配sFeatures引數一個空字串與全部省略這個引數之間有一個很大的區別。如果open()沒有任何引數,那麼所有的特徵都被設定為預設值。換言之,瀏覽器將建立一個視窗,它有預設得寬度和高度、標準的選單、工具欄,以及其他瀏覽器具備的特徵。如果你使用空字串做為需要功能的列表,瀏覽器將開啟一個視窗,它的所有特徵都是被遮蔽的(titlebar和hotkeys除外)。

  window.open()方法的第2個引數sName指定了視窗的名字。如果是一個已經存在視窗的名字,瀏覽器就在那個視窗中裝載指定的URL(sURL)。所以,如果sName指定了存在的視窗,瀏覽器就將忽視定義的特徵列表。

  不是所有的視窗特徵都能被所有的瀏覽器所支援。如果瀏覽器不能識別指定的特徵,它就簡單地忽視掉。下面來看看JavaScript中各種視窗特徵的定義:

/2001/01/19/58_1607.html#alwaysLowered">alwaysLowered  

  Internet Explorer:不支援

  Navigator:版本 4+

  指定視窗總是保留在堆疊的最下面。換言之,不管新視窗是否啟用,總是其他視窗下。

  window.open("alwayslowered.html", "_blank", "alwaysLowered");


  Internet Explorer:不支援

  Navigator:版本 4+

  指定視窗總是保留在堆疊的最上面。換言之,不管新視窗是否啟用,總是其他視窗上。

  window.open("alwaysraised.html", "_blank", "alwaysRaised");


  Internet Explorer:版本 4+

  Navigator:不支援

  指定是否按照劇場顯示視窗,以及是否顯示頻道區。

  window.open("channelmode.html", "_blank", "channelmode");


  Internet Explorer:不支援

  Navigator:版本 4+

  定義是否視窗成為當前開啟視窗的依賴子視窗。依賴視窗就是當它的父視窗關閉時,它也隨即關閉。在平臺上,一個依賴視窗不會在工作列上顯示。

  window.open("dependent.html", "_blank", "dependent");


  Internet Explorer:所有版本

  Navigator:所有版本

  指定是否顯示目錄按鈕(比如眾所周知的"What's Cool" and "What's New" 按鈕)。Internet Explorer將這些目錄按鈕引用為連結工具欄,Navigator(版本4和以上)稱之為個人工具欄。

  window.open("directories.html", "_blank", "directories");


  Internet Explorer:版本 4+

  Navigator:不支援

  定義是否按照全屏方式開啟瀏覽器。請小心使用全屏模式,因為在這種模式下,瀏覽器的標題欄和選單都被隱藏,所有你應該提供一個按鈕或者其他可視的線索來幫助關閉這個視窗。當然,使用熱鍵ALT+F4也能關閉視窗。

  window.open("fullscreen.html", "_blank", "fullscreen");


  Internet Explorer:所有版本

  Navigator:所有版本

  以象素pixel為單位定義視窗文件顯示區域的高度,最小數值是100。如果僅僅定義高度,Internet Explorer使用給定的高度和預設的寬度。對於Navigator,如果不同時指定width或者innerWidth,那麼就將忽略這個屬性。

  window.open("height.html", "_blank", "height=200,width=300");


  Internet Explorer:不支援

  Navigator:版本 4+

  如果沒有定義(或者為0),那麼就遮蔽了沒有選單條的新視窗的大部分熱鍵。但是以及退出熱鍵仍然保留。

  window.open("hotkeys.html", "_blank", "hotkeys=0,menubar=0");


  Internet Explorer:不支援

  Navigator:版本 4+

  以象素pixel為單位定義視窗文件顯示區域的高度,最小數值是100。在Navigator版本4中,這個特徵替換height,為得是保持向後相容。對於Navigator,如果不同時指定width或者innerWidth,那麼就將忽略這個屬性。

  window.open("innerheight.html", "_blank", "innerHeight=200,innerWidth=300");


  Internet Explorer:不支援

  Navigator:版本 4+

  以象素pixel為單位定義視窗文件顯示區域的寬度,最小數值是100。在Navigator版本4中,這個特徵替換width,為得是保持向後相容。對於Navigator,如果不同時指定height或者innerHeight,那麼就將忽略這個屬性。

  window.open("innerwidth.html", "_blank", "innerHeight=200,innerWidth=300");


  Internet Explorer:版本 4+

  Navigator:不支援

  以象素為單位定義視窗的X左標。

  window.open("left.html", "_blank", "left=20");


  Internet Explorer:所有版本

  Navigator:所有版本

  定義是否顯示瀏覽器中供地址URL輸入的文字域。

  window.open("location.html", "_blank", "location");


  Internet Explorer:所有版本

  Navigator:所有版本

  定義是否顯示選單條(選單條位於視窗頂部,包括“”和“編輯”等)。

  window.open("menubar.html", "_blank", "menubar");


  Internet Explorer:不支援

  Navigator:版本 4+

  以象素為單位定義視窗(它的外部邊界)的總高度,最小數值比100多一些,因為視窗內容區域的高度必須至少是100。如果沒有同時定義outerWidth,Navigator將忽視這個特徵。

  window.open("outerheight.html", "_blank", "outerHeight=200,outerWidth=300");


  Internet Explorer:不支援

  Navigator:版本 4+

  以象素為單位定義視窗(它的外部邊界)的總寬度,最小數值比100多一些,因為視窗內容區域的寬度必須至少是100。如果沒有同時定義outerHeight,Navigator將忽視這個特徵。

  window.open("outerwidth.html", "_blank", "outerHeight=200,outerWidth=300");


  Internet Explorer:所有版本

  Navigator:所有版本

  定義是否視窗可以透過它的邊界進行大小縮放控制。依賴於平臺不同,使用者也許還有其他改變視窗大小的方法。

  window.open("resizable.html", "_blank", "resizable");


  Internet Explorer:不支援

  Navigator:版本 4+

  以象素為單位定義視窗的X座標。

  window.open("screenx.html", "_blank", "screenX=20");


  Internet Explorer:不支援

  Navigator:版本 4+

  以象素為單位定義視窗的Y座標。

  window.open("screeny.html", "_blank", "screenY=20");


  Internet Explorer:所有版本

  Navigator:所有版本

  定義是否啟用水平和垂直捲軸。

  window.open("scrollbars.html", "_blank", "scrollbars");


  Internet Explorer:所有版本

  Navigator:所有版本

  定義是否在視窗的下部新增狀態列。

  window.open("status.html", "_blank", "status");


  Internet Explorer:Version 5+

  Navigator:版本 4+

  定義是否顯示視窗的標題欄。在Internet Explorer中,除非呼叫者是一個HTML應用或者一個可信任的對話方塊,那麼這個特徵是被遮蔽的。

  window.open("titlebar.html", "_blank", "titlebar=0");


  Internet Explorer:所有版本

  Navigator:所有版本

  定義是否顯示瀏覽器的工具欄(位於視窗的上部,包括“後退”和“向前”)。

  window.open("toolbar.html", "_blank", "toolbar");


  Internet Explorer:版本 4+

  Navigator:不支援

  以象素為單位定義視窗的縱座標。

  window.open("top.html", "_blank", "top=20");


  Internet Explorer:所有版本

  Navigator:所有版本

  以象素pixel為單位定義視窗文件顯示區域的寬度,最小數值是100。如果僅僅定義寬度,Internet Explorer使用給定的寬度和預設的高度。對於Navigator,如果不同時指定height或者innerHeight,那麼就將忽略這個屬性。

  window.open("width.html", "_blank", "height=200,width=300");


  Internet Explorer:不支援

  Navigator:版本 4+

  定義視窗啟用時不在堆疊中浮起,就是說,新視窗當被啟用時並不能位於其他視窗之上。

  window.open("zlock.html", "_blank", "z-lock");



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-988298/,如需轉載,請註明出處,否則將追究法律責任。

相關文章