2009年1月12日

window:方法五頁

window | 特徵一頁 | 二頁 | 三頁 | 四頁 | 五頁
方法一頁 | 二頁 | 三頁 | 四頁 | 五頁 | 六頁 | 七頁
操控器一頁 | 二頁 | 三頁 | 四頁 | 五頁 | 六頁 | 七頁 | 成員表
window 的方法

使用這些特徵時,可以用 window.method();也可以省略 window,直接用 method()。

openDialog()

產生一個新的子視窗,下載指定的網頁。此方法與 open() 相同,增加了給子視窗的參數。限 Firefox 使用;實測,沒有瀏覽器支援此項。建議改用 showModalDialog()

postMessage()

將訊息安全地傳遞給另一個網頁視窗。IE8, Firefox 有支援。其語法是:

目標視窗.postMessage( 訊息, 目標 URI )

目標視窗可是一個獨立子視窗,由父視窗以 window.open() 開啟;也可以是 IFRAME, FRAME 建立的子視窗。目標視窗與目標 URI 必須相符合,才會送出訊息。目標 URI 可以設為 '*'。

  • 程式用法:

    <script type='text/javascript'>
    var wChild;
    function wOpen()
    {
      wChild=window.open(
        'http://ant4js.blogspot.com/2009/01/postmessage.html',
        'postmessage',
        'alwaysRaised=yes, height=550, width=850, scrollbars=yes')
    }
    function postMessageDM()
    {
      wChild.postMessage("postMessage 測試成功", "*");
    }
    </script>
    <a href='javascript:wOpen()'>請先點此開視窗</a>
    <p><a href='javascript:postMessageDM()'>接著請點此傳送訊息</a>

  • 執行結果:

    請先點此開視窗

    接著請點此傳送訊息

  • 上例,Firefox 成功;IE8 失敗。Safari, Chrome 沒支援。

使用 IFRAME 作訊息傳遞的測試。

  • 程式用法:

    <script type='text/javascript'>
    //var wChild2;
    function postMessage2DM()
    {
      var o=document.getElementById('rcvM');
      o.contentWindow.postMessage("postMessage 測試成功", "*");
    }
    </script>
    <iframe width='90%' height='500px' id='rcvM'
      src='http://ant4js.blogspot.com/2009/01/postmessage2.html'></iframe>
    <p><a href='javascript:postMessage2DM()'>請點此傳送訊息</a>

  • 執行結果:

    請點此傳送訊息

  • 上例,IE, Firefox 成功;Safari, Chrome 沒支援。
resizeBy()

改變視窗的相對大小。其語法是:

window.resizeBy(寬度改變量, 高度改變量)

單位是像素。

  • 程式用法:

    <a href='javascript:resizeBy(20,20)'>點此視窗變大</a><br />
    <a href='javascript:resizeBy(-20,-20)'>點此視窗變小</a>

  • 執行結果:

    點此視窗變大
    點此視窗變小

  • Chrome 無此項;IE, Firefox, Safari 都執行成功。先將瀏覽器變成較小的視窗,再改變。瀏覽器不會超出螢幕範圍。
resizeTo()

改變視窗的絕對大小。其語法是:

window.resizeTo(寬度, 高度)

單位是像素。

  • 程式用法:

    <a href='javascript:resizeTo(500,500)'>點此改變視窗大小</a>

  • 執行結果:

    點此改變視窗大小

  • Chrome 無此項;IE, Firefox, Safari 都執行成功。瀏覽器不會超出螢幕範圍。

©2008-2009 by ant2legs, All Rights Reserved. ant2legs 擁有其製作的文章,圖片與程式的著作權,所有權利保留。