<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 讓他
    通天塔
    主站蜘蛛池模板: 中文字幕高清免费不卡视频| 亚洲熟女综合色一区二区三区| 国产精品日本亚洲777| 99久久综合国产精品免费| 亚洲国产精品综合久久2007| 成年人免费的视频| 亚洲一区二区三区高清视频| 一二三四在线播放免费观看中文版视频 | 亚洲第一成人影院| ww在线观视频免费观看w| 国产午夜亚洲不卡| 中文字幕乱码一区二区免费| 亚洲尹人九九大色香蕉网站| 精品女同一区二区三区免费站| 67194在线午夜亚洲| 日本一道一区二区免费看| 免费人成再在线观看网站| 亚洲人成无码网站久久99热国产| 国产精品永久免费| 久久久久久a亚洲欧洲AV| 国内精品免费麻豆网站91麻豆| 亚洲一区二区三区免费视频| 香蕉视频在线观看免费国产婷婷 | 免费人成动漫在线播放r18| 亚洲国产香蕉人人爽成AV片久久| 十八禁在线观看视频播放免费| 亚洲综合一区二区国产精品| 无人在线观看免费高清视频| 美女露100%胸无遮挡免费观看| 伊伊人成亚洲综合人网7777| 无码精品A∨在线观看免费| 丰满亚洲大尺度无码无码专线| 久久久无码精品亚洲日韩软件| 18禁美女黄网站色大片免费观看 | 91免费国产自产地址入| 国产精品亚洲精品久久精品 | 亚洲人成在线影院| 免费毛片在线视频| 国精产品一区一区三区免费视频| 亚洲国产精品成人精品小说| 又黄又大又爽免费视频|