JavaScript關於window.open()應用

來源:互聯網
上載者:User
javascript|window

  網頁都是建立在視窗之上的,任何有關網頁的事情,都與視窗有關。下面首先讓我們熟悉一下大家常用的Internet Explorer的基本結構。

  正常情況下,開啟的視窗都有如下四部分:

  • 標題列(title):該視窗顯示標題的地方
  • 控制區:各種按鍵、菜單
  • 視窗:瀏覽器上最大的那一部分,不用多說了吧!
  • 狀態列(status):顯示相應系統資訊以及JavaScript資訊的地方

      在預設情況下,開啟的新視窗都含有以上部分。但是當用到windows.open()時,我們就可以控制新開啟的視窗的風格了。

      文法:

    oNewDoc = document.open(sUrl [, sName] [, sFeatures] [, bReplace])

      說明:

    sURL 可選。字串--指定新的文檔的URL地址。如果沒有指定這一項,那麼將會是一個空的(about:blank)。
    sName 可選。字串--新產生視窗的名字。可以用作form或者a中Target的值。
    blank sURL被載入到一個新的未命名的視窗。
    _media sURL被載入到一個媒體欄中。(僅適合IE6以及以後版本瀏覽器)
    _parent sURL被載入到目前架構的上層架構上。如果沒有上層架構,則此項的值與_self的值相同。
    _search sURL被開啟在瀏覽器的尋找視窗。(僅適合IE5以及以後的瀏覽器)
    _self sURL在當前的視窗上開啟,覆蓋以前的內容。
    _top sURL可能會載入到任何架構支架(Frameset)上,如果沒有定義Frameset,此項值與_self的值相同。
    sFeatures 可選。字串--列出對象表並用逗號分開。每一項都有自己的值,他們將被分開(如:"fullscreen=yes, toolbar=yes")。下面是被支援的各種特性。
    channelmode = { yes | no | 1 | 0 } 是否在視窗中顯示階梯模式。預設為no
    directories = { yes | no | 1 | 0 } 是否在視窗中顯示各種按鈕。預設為yes
    fullscreen = { yes | no | 1 | 0 } 是否用全屏方式顯示瀏覽器。預設為no。使用這一特性時需要非常小心。因為這一屬性可能會隱藏瀏覽器的標題列和菜單,你必須提供一個按鈕或者其他提示來協助使用者關閉這一瀏覽視窗。ALT+F4可以關閉視窗。一個全屏視窗必須使用階梯(channelmode)模式。
    height = number 指定視窗的高度,單位是像素。最小值是100。
    left = number 指定視窗距左邊框的距離,單位是像素。值必須大於或者等於0。
    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 } 指定是否在視窗中顯示標題列。在非調用HTML Application或者一個對話方塊的情況下,這一項將被忽略。預設為yes
    toolbar = { yes | no | 1 | 0 } 指定是否在視窗中顯示工具列,包括如前進、後退、停止等按鈕。預設為yes
    top = number 指定視窗頂部的位置,單位是像素。值必須大於或者等於0。
    width = number 指定視窗的寬度,單位是像素。最小值是100。
    bReplace 可選。當sURL被載入到同一視窗時,這個布爾型變數指定是否這個sURL建立立一個條目,或者是加到目前該視窗的記錄上。
    true sURL覆蓋當前文檔的曆史紀錄。
    false sURL在記錄中建立一個新的條目。

      注釋:

    預設情況下,open方法建立一個擁有預設寬度、高度、菜單以及工具列的視窗。你可以指定其中任何一項或者多項特徵參數。這些參數是由一個或多個字串所組成的。

    當一旦有特徵參數被指定,其他沒有被指定的特徵參數全部被禁止。因此,當用到特徵參數,就需要定義所有在視窗中需要用到的其他特徵參數。如果沒有指定特徵參數,那麼所有的特徵將會被保留原始的預設值。除了給特徵參數指定新值之外,還可以簡單的羅列特徵名稱來使得視窗的相應特徵有效。

      樣本:

    window.open("Sample.htm",null,
    "height=200,width=400,status=yes,toolbar=no,menubar=no,location=no");

      在例子中,建立了一個包含Sample.htm的新視窗。這個新視窗有200像素寬和400像素高,擁有狀態列,但是沒有工具列、功能表列和地址欄。以上就是相應代碼。

      下面給出一個較為完整的例子,供大家參考新視窗的產生方法。

    <html>
    <head>
    <title>Open Window</title>
    <script language="JavaScript">
      function OpenWindow()
      {
        thisWin = window.open("", null, "width=300,height=400")
        thisWin.document.write("<head><title>newWindow</title></head>")
        thisWin.document.write("<body><center>This is a new window!</center></body>")
      }
    </script>
    </head>

    <body>
    <center>
    <input type="button" value="Creat New Window" onClick="OpenWindow()">
    </center>
    </body>
    </html>

    例子中的this.document.write是向新產生的視窗中寫入代碼,如果不這樣,新產生的視窗將會顯示錯誤。

      產生新的視窗是比較簡單的,大家只要熟練掌握上面介紹的特徵,基本上就可以說掌握了新視窗的產生方法。

      註:此系列JavaScript介紹是面向新手的,可以說我介紹的是最最基礎的東西。目的只是想讓那些正在學習網頁製作的人能夠有更快的提高。只能說面向的對象不同,所以水平也是不同,敬請各位高手笑納。



  • 相關文章

    聯繫我們

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