yaoleiroyal

          天行健,君子以自強不息!地勢坤,君子當厚德載物!

           

          window.open 與 window.showModalDialog比較

          打開子窗口有兩種方式,window.open與window.showModalDialog。

          open形式是直接打開一個子窗口,但在ie7以及ie8上都不會直接彈出一個窗口,而是在新標簽頁中打開,這帶來兩個問題,一個是操作不方便,另一個是原本明明在open時指定了窗口大小的,但是由于是標簽頁打開,導致設(shè)置的窗口大小完全沒用,頁面中的內(nèi)容也是在新窗口中完全打開的,本來設(shè)計很好的頁面打開后完全變形了。

          這個時候最好是選用dialog形式打開窗口,使用它打開窗口時有幾點需要注意的。一個是設(shè)置窗口的參數(shù),在open時設(shè)置參數(shù)一般以逗號分隔,比如

          window.open("Sample.htm",null,"height=200,width=400,status=yes,toolbar=no,menubar=no,location=no");而在dialog中則是以分號分隔的,另外原來的高度啊什么的在dialog中都需要加上dialog前綴,如:

          window.showModalDialog("Sample.htm",window,"dialogHeight:200;dialogWidth:400;status:yes;toolbar:no;menubar:no;location:no");open中的等于也變成了冒號了。

          最后說一下如何通過子窗口訪問父窗口中的元素,在開發(fā)過程中經(jīng)常會遇到,打開一個子窗口,在子窗口中選擇相關(guān)參數(shù),然后顯示到父窗口中,原本通過open形式打開的子窗口中,通過window.opener就可以了,如window.opener.user.value=啦啦啦。而通過dialog形式打開的窗口,如何訪問呢?很簡單,就是在寫window.showModalDialog時,將window作為該方法的第二個參數(shù),然后在子窗口中通過window.dialogArguments就可以定位到父窗口的window對象。如
          var bb =  window.dialogArguments;
          bb.document.getElementById("user").value = 啦啦啦。就OK啦,當然通過這種方式也可以輕松實現(xiàn)兩者的雙向交互。

          posted on 2009-10-05 22:59 yaoleiroyal 閱讀(1994) 評論(0)  編輯  收藏 所屬分類: javaScript


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           

          導航

          統(tǒng)計

          常用鏈接

          留言簿(1)

          隨筆分類(5)

          隨筆檔案(5)

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 安岳县| 财经| 固镇县| 城口县| 刚察县| 当阳市| 凤冈县| 友谊县| 清远市| 罗田县| 色达县| 德保县| 金阳县| 白玉县| 台江县| 汶川县| 怀集县| 桑植县| 广东省| 山东省| 阳高县| 丹凤县| 桂阳县| 东丽区| 甘洛县| 仙居县| 彭阳县| 利津县| 米泉市| 永兴县| 玛曲县| 福建省| 荔浦县| 青海省| 博客| 邢台市| 永安市| 三明市| 樟树市| 宁都县| 诸城市|