JavaScript中windows.open()、windows.close()方法詳解_javascript技巧

來源:互聯網
上載者:User

windows.open()方法詳解:

window.open(URL,name,features,replace)用於載入指定的URL到新的或已存在的視窗中,並返回代表新視窗的Window對象。它有4個可選的 參數:

URL:一個可選的字串,聲明了要在新視窗中顯示的文檔的 URL。如果省略了這個參數,或者它的值是Null 字元串,那麼新視窗就不會顯示任何文檔。

name:一個可選的字串,該字串是一個由逗號分隔的特徵列表,其中包括數字、字母和底線,該字元聲明了新視窗的名稱。這個名稱可以用作標記 <a> 和 <form> 的屬性 target 的值。如果該參數指定了一個已經存在的視窗,那麼open()方法就直接使用這個視窗。在這種情況下,指定視窗特徵的features參數將被忽略。保留的名字:“_ blank”、“_ parent” 、“_ top”指新視窗顯示位置。

features:(非標準的,建議忽略該參數)一個可選的字串,聲明了新視窗要顯示的標準瀏覽器的特徵。如果省略該參數,新視窗將具有所有標準特徵。在以下視窗特徵這個表格中,我們對該字串的格式進行了詳細的說明。

replace:一個可選的布爾值。規定了裝載到視窗的 URL 是在視窗的瀏覽曆史中建立一個新條目,還是替換瀏覽曆史中的當前條目。支援的值:true - URL替換瀏覽曆史中的當前條目;false - URL在瀏覽曆史中建立新的條目。

新的頂層瀏覽器視窗由方法 Window.open() 建立。當調用該方法時,應把 open() 調用的傳回值儲存在一個變數中,然後使用那個變數來引用新視窗。新視窗的 opener 屬性反過來引用了開啟它的那個視窗。

請不要混淆方法 Window.open() 與方法 Document.open(),這兩者的功能完全不同。為了使您的代碼清楚明白,請使用 Window.open(),而不要使用 open()。

大部分瀏覽器都增加了快顯視窗過濾系統。通常open方法只有當使用者手動單擊按鈕或者連結 的時候才會調用。JavaScript代碼嘗試在瀏覽器初始載入(或卸載)時開啟一個快顯視窗時,通常 會失敗。

視窗特徵(Window Features)

channelmode=yes|no|1|0 是否使用劇院模式顯示視窗。預設為 no。

directories=yes|no|1|0 是否添加目錄按鈕。預設為 yes。

fullscreen=yes|no|1|0 是否使用全螢幕模式顯示瀏覽器。預設是 no。處於全螢幕模式的視窗必須同時處於劇院模式。

height=pixels 視窗文檔顯示區的高度。以像素計。

left=pixels 視窗的 x 座標。以像素計。

location=yes|no|1|0 是否顯示地址欄位。預設是 yes。

menubar=yes|no|1|0 是否顯示功能表列。預設是 yes。

resizable=yes|no|1|0 視窗是否可調節尺寸。預設是 yes。

scrollbars=yes|no|1|0 是否顯示捲軸。預設是 yes。

status=yes|no|1|0 是否添加狀態列。預設是 yes。

titlebar=yes|no|1|0 是否顯示標題列。預設是 yes。

toolbar=yes|no|1|0 是否顯示瀏覽器的工具列。預設是 yes。

top=pixels 視窗的 y 座標。

width=pixels 視窗的文檔顯示區的寬度。以像素計。

window.close()方法:

如果已經建立了一個Window對象w,可以這樣關閉視窗w.close();而在本視窗中則用window.close();

注意:必須顯式地調用window.close()方法,避免同document.close()方法混淆;

大多數瀏覽器只允許指令碼自動關閉由指令碼建立的視窗,如果要關閉其他視窗,可以用一個對話方塊取得使用者的確認或取消;window.close()不能關閉一個內嵌在視窗內的表單;

即使一個視窗關閉了,代表它的Window對象仍然存在。已關閉的視窗會有個值為true的closed 屬性,它的document會是null,它的方法通常也不會再工作。

以上所述是小編給大家介紹的JavaScript中windows.open()、windows.close()方法詳解 ,希望對大家有所協助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對雲棲社區網站的支援!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.