<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    如何學好java

    如何學好java,其實很簡單,只要用心體會,慢慢積累!
    posts - 106, comments - 7, trackbacks - 0, articles - 3
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    JS中showModalDialog 詳細使用

    Posted on 2012-11-26 12:51 哈希 閱讀(909) 評論(1)  編輯  收藏 所屬分類: Js and Jquery 常用總結

    基本介紹:
              showModalDialog()         (IE 4+ 支持)
              showModelessDialog()      (IE 5+ 支持)
              window.showModalDialog()                  方法用來創建一個顯示HTML內容的模態對話框。
              window.showModelessDialog()             方法用來創建一個顯示HTML內容的非模態對話框。
    使用方法:
              vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures])
              vReturnValue = window.showModelessDialog(sURL [, vArguments] [,sFeatures])
    參數說明:
             sURL          --  必選參數,類型:字符串。用來指定對話框要顯示的文檔的URL。
             vArguments    -- 可選參數,類型:變體。用來向對話框傳遞參數。傳遞的參數類型不限,包括數組等。對話框通過
     

                              window.dialogArguments來取得傳遞進來的參數。
             sFeatures     -- 可選參數,類型:字符串。用來描述對話框的外觀等信息,可以使用以下的一個或幾個,用分號“;”隔開。
    ----------------
    1.    dialogHeight:    對話框高度,不小于100px
    2.    dialogWidth:    對話框寬度。
    3.    dialogLeft:     離屏幕左的距離。
    4.    dialogTop:     離屏幕上的距離。
    5.    center:          { yes | no | 1 | 0 } :              是否居中,默認yes,但仍可以指定高度和寬度。
    6.    help:             {yes | no | 1 | 0 }:                是否顯示幫助按鈕,默認yes。
    7.    resizable:       {yes | no | 1 | 0 } [IE5+]:     是否可被改變大小。默認no。
    8.    status:          {yes | no | 1 | 0 } [IE5+]:      是否顯示狀態欄。默認為yes[ Modeless]或no[Modal]。
    9.    scroll:            { yes | no | 1 | 0 | on | off }:是否顯示滾動條。默認為yes。

    下面幾個屬性是用在HTA中的,在一般的網頁中一般不使用。
    10.    dialogHide:{ yes | no | 1 | 0 | on | off }:在
    打印或者打印預覽時對話框是否隱藏。默認為no。
    11.    edge:{ sunken | raised }:指明對話框的邊框樣式。默認為raised。
    12.    unadorned:{ yes | no | 1 | 0 | on | off }:默認為no。

    參數傳遞:
    1. 要想對話框傳遞參數,是通過vArguments來進行傳遞的。類型不限制,對于字符串類型,最大為4096個字符。也可以傳遞對象,例如:
    -------------------------------
    parent.htm
    <script>
              var obj = new Object();
              obj.name="51js";
              window.showModalDialog("modal.htm",obj,"dialogWidth=200px;dialogHeight=100px");
    </script>
    modal.htm
    <script>
              var obj = window.dialogArguments
              alert("您傳遞的參數為:" + obj.name)
    </script>
    -------------------------------
    2.可以通過window.returnValue向打開對話框的窗口返回信息,當然也可以是對象。例如:
    ------------------------------
    parent.htm
    <script>
              str =window.showModalDialog("modal.htm",,"dialogWidth=200px;dialogHeight=100px");
              alert(str);
    </script>
    modal.htm
    <script>
              window.returnValue="http://homepage.yesky.com";
    </script>

    常見技巧:

    一、怎樣才讓在showModalDialog和showModelessDialog的超連接不彈出新窗口?
      在被打開的網頁里加上<base target="_self">就可以了。這句話一般是放在<head>之間的。

    二、怎樣才刷新showModalDialog和showModelessDialog里的內容?
      在showModalDialog和showModelessDialog里是不能按F5刷新的,又不能彈出菜單。這個只能依靠

    javascript了,以下是相關代碼:

    <body onkeydown="if (event.keyCode==116){reload.click()}">
    <a id="reload" href="filename.htm" style="display:none">reload...</a>

      將filename.htm替換成網頁的名字然后將它放到你打開的網頁里,按F5就可以刷新了,注意,這個要

    配合<base target="_self">使用,不然你按下F5會彈出新窗口的。

    三、如何用javascript關掉showModalDialog(或showModelessDialog)打開的窗口。
      <input type="button" value="關閉" onclick="window.close()">
      也要配合<base target="_self">,不然會打開一個新的IE窗口,然后再關掉的。

    四、Math.random與showModalDialog。

       當你設置的彈出網頁固定時(如上面的"modal.htm"頁面),ie很可能到臨時文件區,下載上次產生的該頁面(openPage.html),而沒有重新加載,

       對于動態加載的頁面來說,這樣往往產生誤會,如沒有及時更新數據,也就更不利于開發者測試。所以,你可以采用如下方式:

          var strPage = “/medal.htm?random="+Math.random();

       這樣每次產生的strPage是不一樣的,原因也就不言自明了。

     

    下面舉兩個例子

    一、返回一個字符串

    首先是父頁面有個按鈕,用來打開Modal頁面userList.aspx

    復制代碼
     function openWin()
        {
             str =window.showModalDialog("userList.aspx",window,"status:0;help:0;edge:sunken;dialogWidth=700px;dialogHeight=400px");

            if(str!=undefined && typeof(str)!=undefined && str!="undefined" && str!="")
            {
              document.getElementById("txtuserid").value=str;
            }else
            {
             document.getElementById("txtuserid").value="";
            }
        }
    復制代碼

    str就是子頁面返回過來的數據,我們把它添加到父類的一個表單元素中

    子頁面

        function getValue()
            {          
             var selectValue=$(":radio:checked").val();
             window.returnValue=selectValue;
             window.close();
            }

    在這里我們把子頁面里的值返回到父頁面里就可以了,然后關閉頁面就可以了

    二、返回一個數據

    父頁面

    復制代碼
         function openWin()
         {
     
            array =window.showModalDialog("demo2.aspx",window,"status:0;help:0;edge:sunken;dialogWidth=700px;dialogHeight=400px;scroll:no");
           
              document.getElementById("username").value=array[0];
              document.getElementById("sex").value=array[0];
             
         
        }
    復制代碼

    子頁面

     

    復制代碼
       function getValue()
           {
             var array=new Array();
             
             array[0]=document.getElementById("username").value;
             Array[1]=document.getElementById("sex").value;
             window.returnValue=array;
             window.close();
           }
    復制代碼

    返回一個數組就可以了,如果用open打開的話,在搜狗或者360瀏覽器打開的是一個頁面或者阻攔什么的

     前段時間在后臺使用JS的winodw.showModalDialog來查看靜態頁面內容,發現不能及時顯示更新后的頁面內容,用open打開有時也會出現這種問題

    解決辦法 
      window.showModalDialog(getUrl+"?Rnd="+Math.random(),"","dialogWidth:600px;dialogHeight:400px;help:no;scroll:yes;center:yes;status:no;");
    這樣就不會有緩存了

    多思考,多創新,才是正道!

    評論

    # re: JS中showModalDialog 詳細使用   回復  更多評論   

    2014-12-22 11:29 by 讓他
    通天塔
    主站蜘蛛池模板: 区三区激情福利综合中文字幕在线一区亚洲视频1| 91免费在线播放| 亚洲精品无码激情AV| 边摸边吃奶边做爽免费视频99| 午夜高清免费在线观看| 亚洲GV天堂GV无码男同| 无码国模国产在线观看免费| 亚洲av纯肉无码精品动漫| 国产男女性潮高清免费网站 | 亚洲国产欧美日韩精品一区二区三区| 毛片免费视频在线观看| 亚洲午夜成人精品无码色欲| 国产精品成人无码免费| 一边摸一边爽一边叫床免费视频| 亚洲人JIZZ日本人| 91福利视频免费观看| 亚洲同性男gay网站在线观看| 99精品全国免费观看视频| 国产精品亚洲精品日韩电影| 亚洲成av人片一区二区三区| 国产精品无码免费专区午夜 | 77777午夜亚洲| 成人免费视频软件网站| 色多多A级毛片免费看| 亚洲国产精华液网站w| 免费在线观看视频网站| 亚洲AV成人精品一区二区三区| 亚洲高清国产拍精品青青草原| 国产一级淫片a免费播放口| 亚洲乱码一区av春药高潮| 免费看国产精品麻豆| 在线观看免费黄网站| 亚洲无吗在线视频| 亚洲精品无码av天堂| 免费视频爱爱太爽了| 免费在线观看一区| 亚洲国产精品专区| 亚洲夜夜欢A∨一区二区三区| 中文字幕无码播放免费| 国产精品成人69XXX免费视频| 亚洲精品午夜在线观看|