J2EE社區

          茍有恒,何必三更起五更眠;
          最無益,只怕一日曝十日寒.
          posts - 241, comments - 318, trackbacks - 0, articles - 16

          導航

          留言簿(30)

          隨筆分類(219)

          友情鏈接

          搜索

          •  

          積分與排名

          • 積分 - 1166785
          • 排名 - 25

          最新隨筆

          最新評論

          閱讀排行榜

          判斷 iframe 是否加載完成的完美方法

          Posted on 2011-06-02 18:36 xcp 閱讀(7416) 評論(0)  編輯  收藏 所屬分類: Javascript
          般來說,我們判斷 iframe 是否加載完成其實與 判斷 JavaScript 文件是否加載完成 采用的方法很類似:
          var iframe = document.createElement("iframe");
          iframe.src 
          = "http://www.planabc.net";
          if (!/*@cc_on!@*/0) { //if not IE    
              iframe.onload 
          = function(){        
                  alert(
          "Local iframe is now loaded.");    
              };
          else {    
              iframe.onreadystatechange 
          = function(){//ie
                  
          if (iframe.readyState == "complete"){            
                      alert(
          "Local iframe is now loaded.");
                  }
              };
          }
          document.body.appendChild(iframe);

          最近, Nicholas C. Zakas 文章《Iframes, onload, and document.domain》的評論中 Christopher 提供了一個新的判斷方法(很完美)
          var iframe = document.createElement("iframe");
          iframe.src 
          = "http://www.planabc.net";
          if (iframe.attachEvent){    
              iframe.attachEvent(
          "onload"function(){        
                  alert(
          "Local iframe is now loaded.");    
              });
          else {    
              iframe.onload 
          = function(){        
                  alert(
          "Local iframe is now loaded.");    
              };
          }
          document.body.appendChild(iframe);

          我自己的實例:
          <div class="contentRight">
                              
          <iframe name="myframe" id="myframe" src="" frameborder="0" scrolling="no" width="100%" height="500"></iframe>
                          
          </div> 

          var iframe = document.getElementById("myframe");
              iframe.src
          ="<%=request.getContextPath()%>/jsp/dwgl/hygl/zdhygl/dwgl_hygl_zdhygl_cx_part2.jsp";
              
          if (iframe.attachEvent){
                  iframe.attachEvent(
          "onload"function(){
                      get_list_data_nopar();
                   });
              }
          else{
                  iframe.onload 
          = function(){
                      get_list_data_nopar();
                  };
              }


          幾點補充說明:
          1、IE 支持 iframe 的onload 事件,不過是隱形的,需要通過 attachEvent 來注冊。
          2、第二種方法比第一種方法更完美,因為 readystatechange 事件相對于 load 事件有一些潛在的問題。






          名稱: ?4C.ESL | .↗Evon
          口號: 遇到新問題?先要尋找一個方案乄而不是創造一個方案こ
          mail: 聯系我


          主站蜘蛛池模板: 云阳县| 留坝县| 平陆县| 长寿区| 凤冈县| 巩义市| 乌鲁木齐市| 盐亭县| 丰宁| 阜新市| 眉山市| 景宁| 星座| 军事| 台中县| 大厂| 岫岩| 黄陵县| 乐东| 五家渠市| 房山区| 墨玉县| 汽车| 佛冈县| 鹤山市| 石首市| 淳安县| 墨玉县| 清丰县| 红桥区| 上思县| 栾城县| 姚安县| 宁河县| 南投县| 淳化县| 巨野县| 黑河市| 涪陵区| 曲松县| 太仓市|