J2EE社區(qū)

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

          判斷 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
          口號: 遇到新問題?先要尋找一個方案乄而不是創(chuàng)造一個方案こ
          mail: 聯(lián)系我


          主站蜘蛛池模板: 莎车县| 甘泉县| 辽源市| 托克逊县| 东港市| 体育| 元朗区| 湖南省| 盐源县| 迁西县| 江门市| 耿马| 卢龙县| 原平市| 丰城市| 丹江口市| 胶南市| 调兵山市| 沛县| 洪洞县| 竹北市| 马山县| 绥宁县| 承德市| 青铜峡市| 仁化县| 建阳市| 千阳县| 松江区| 华宁县| 双江| 广河县| 娄烦县| 黑河市| 太原市| 洛扎县| 台东县| 井陉县| 政和县| 桑植县| 绵竹市|