小熊泡泡

          常用鏈接

          統計

          最新評論

          IE vs. FireFox 系列 - showModalDialog

          在網頁程式中,
          有時我們會希望使用者按下按鈕後開啟一個保持在原視窗前方的子視窗,
          而在IE中,我們可以使用showModalDialog來達成,
          語法如下 :

          vReturnValue = window.showModalDialog(sURL [, vArguments] [, sFeatures])

          範例:

          window.showModalDialog("openwin.html","Arguments","dialogHeight: 200px; dialogWidth: 200px; dialogTop: 10px; dialogLeft: 10px; edge: Raised; center: Yes; help: Yes; resizable: Yes; status: Yes;");

          但是.在Firefox中卻沒有showModalDialog這東西,
          而在FireFox中我們只能使用window.open實現這樣的功能,
          window.open的語法如下 :

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

          只是,在Firefox下,window.open的參數中,sFeature多了一些功能設定,
          而在FireFox下要讓開啟的視窗跟IE的showModalDialog一樣的話,
          只要在sFeatures中加個modal=yes就可以了,
          範例如下:

          window.open('openwin.html','newWin','modal=yes,width=200,height=200,resizable=no,scrollbars=no');

          提到了子視窗,不得不提的就是子視窗跟母視窗間的交互操作,
          因為我想很多人開啟對話視窗應該都是為了將操作完的結果丟回去給母視窗...

          如果是用showModalDialog的話,
          在子視窗中要存取母視窗的函數的話,
          要注意兩個地方,
          1.(母視窗中)開啟視窗:

          window.showModalDialog("openwin.html",self,'modal=yes,width=775,height=700,resizable=no,scrollbars=no');

          在第二個參數(vArguments),改成self.

          2.(子視窗中)調用母視窗的函數:

          window.dialogArguments.ShowMsg(obj.value);

          ShowMsg為母視窗中的函數.

          ?

          而使用window.open的話,
          則是要注意一個地方,
          1.(子視窗中)調用母視窗的函數:

          window.opener.ShowMsg(obj.value);

          使用window.opener去接母視窗的物件.

          如此一來,只要再透過navigator.appName去判斷瀏覽器為何,
          就可以寫一個IE與FireFox相容的函數...

          posted on 2007-03-05 15:35 小熊泡泡 閱讀(408) 評論(1)  編輯  收藏 所屬分類: Javascript

          評論

          # re: IE vs. FireFox 系列 - showModalDialog 2013-05-06 12:36 薩提亞課程

          很感謝,解決了哦  回復  更多評論   

          主站蜘蛛池模板: 潍坊市| 瓦房店市| 新沂市| 会理县| 湖北省| 闵行区| 金沙县| 呼伦贝尔市| 潜江市| 静海县| 屏南县| 乐至县| 博野县| 当涂县| 芦溪县| 信宜市| 宜宾市| 新安县| 民勤县| 岗巴县| 綦江县| 上思县| 卢湾区| 辽中县| 万全县| 拉萨市| 平昌县| 灵璧县| 措勤县| 平阳县| 田林县| 扎鲁特旗| 通江县| 卓尼县| 灌云县| 陆丰市| 麻阳| 永安市| 阜阳市| 安阳市| 淮阳县|