J2EE社區

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

          導航

          留言簿(30)

          隨筆分類(219)

          友情鏈接

          搜索

          •  

          積分與排名

          • 積分 - 1167478
          • 排名 - 25

          最新隨筆

          最新評論

          閱讀排行榜

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

          Posted on 2011-06-02 18:36 xcp 閱讀(7417) 評論(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: 聯系我


          主站蜘蛛池模板: 柯坪县| 洪江市| 鸡西市| 蒙阴县| 蕲春县| 宁化县| 岑巩县| 集安市| 汽车| 毕节市| 隆安县| 漳平市| 张掖市| 阿鲁科尔沁旗| 瑞昌市| 南郑县| 绍兴市| 遵化市| 曲麻莱县| 卢龙县| 翁牛特旗| 抚远县| 沁水县| 邯郸县| 成都市| 丰顺县| 清丰县| 南汇区| 南皮县| 西吉县| 肥城市| 新竹市| 双峰县| 长阳| 老河口市| 盘锦市| 岳池县| 根河市| 新昌县| 青川县| 城固县|