JavaScript視窗功能指南之定製新視窗

來源:互聯網
上載者:User
window.open()方法的基本文法結構是:  

  window.open(sURL, sName);

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

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

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

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

  win = window.open("http://www.docjs.com/", "docjs", "location=1,menubar=1,resizable=1");

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

  win = window.open("http://www.docjs.com/", "docjs", "location,menubar,resizable");

  win = window.open("http://www.docjs.com/", "docjs", "location=yes,menubar=yes,resizable=yes");

  win = window.open("http://www.docjs.com/", "docjs", "location,menubar=1,resizable=yes");

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

  feature[=value]

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

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

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

alwaysLowered innerWidth screenY
alwaysRaised left scrollbars
channelmode location status
dependent menubar titlebar
directories outerWidth toolbar
fullscreen outerHeight top
height menubar width
hotkeys resizable z-lock
innerHeight screenX  

alwaysLowered
  Internet Explorer:不支援

  Navigator:版本 4+

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

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

alwaysRaised
  Internet Explorer:不支援

  Navigator:版本 4+

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

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

channelmode
  Internet Explorer:版本 4+

  Navigator:不支援

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

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

dependent
  Internet Explorer:不支援

  Navigator:版本 4+

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

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

directories
  Internet Explorer:所有版本

  Navigator:所有版本

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

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

fullscreen
  Internet Explorer:版本 4+

  Navigator:不支援

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

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

height
  Internet Explorer:所有版本

  Navigator:所有版本

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

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

hotkeys
  Internet Explorer:不支援

  Navigator:版本 4+

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

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

innerHeight
  Internet Explorer:不支援

  Navigator:版本 4+

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

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

innerWidth
  Internet Explorer:不支援

  Navigator:版本 4+

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

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

left
  Internet Explorer:版本 4+

  Navigator:不支援

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

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

location
  Internet Explorer:所有版本

  Navigator:所有版本

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

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

menubar
  Internet Explorer:所有版本

  Navigator:所有版本

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

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

outerHeight
  Internet Explorer:不支援

  Navigator:版本 4+

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

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

outerWidth
  Internet Explorer:不支援

  Navigator:版本 4+

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

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

resizable
  Internet Explorer:所有版本

  Navigator:所有版本

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

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

screenX
  Internet Explorer:不支援

  Navigator:版本 4+

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

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

screenY
  Internet Explorer:不支援

  Navigator:版本 4+

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

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

scrollbars
  Internet Explorer:所有版本

  Navigator:所有版本

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

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

status
  Internet Explorer:所有版本

  Navigator:所有版本

  定義是否在視窗的下部添加狀態列。

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

titlebar
  Internet Explorer:Version 5+

  Navigator:版本 4+

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

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

toolbar
  Internet Explorer:所有版本

  Navigator:所有版本

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

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

top
  Internet Explorer:版本 4+

  Navigator:不支援

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

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

width
  Internet Explorer:所有版本

  Navigator:所有版本

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

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

z-lock
  Internet Explorer:不支援

  Navigator:版本 4+

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

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.