2013-03-05 55 views
0

得到一個腳本,它將一個來自txt文件的URL從一個接一個地放入一個iframe中。繼承人的腳本:使用try塊在加載iframe時發現'sameorigin'錯誤

<script type="text/javascript"> 
      $.get("imones.txt", function (data) { 
       var array = data.split(/\r\n|\r|\n/); 
       var beforeLoad = (new Date()).getTime(); 
       var loadTimes = []; 
        var beforeTimes = []; 
       $('#frame_id').on('load', function() {         
        beforeTimes.push(beforeLoad); 
        loadTimes.push((new Date()).getTime()); 
        $('#frame_id').attr('src', array.pop()); 
         $.each(loadTimes, function (index, value) { 
          var result = (value - beforeTimes[index])/1000; 
           if (result < 0) { 
            result = result * (-1); 
           } 
          $("#loadingtime" + index).html(result); 
          beforeLoad = value; 
         }); 
       }).attr('src', array.pop()); 
      }); 
     </script> 

林遇到問題時URL的一個具有「相同的起源」的保護(google.com爲例),我的問題是,一旦它開始加載谷歌,它不會加載任何其他幀(它卡住了)。我被告知嘗試使用try catch塊,但我不知道如何。如何使用try catch來避免「同源」網址(請注意,我不希望它們加載,我希望它們跳過)。

回答

0

我猜這裏

<script type="text/javascript"> 
      $.get("imones.txt", function (data) { 
       var array = data.split(/\r\n|\r|\n/); 
       var beforeLoad = (new Date()).getTime(); 
       var loadTimes = []; 
        var beforeTimes = []; 
       $('#frame_id').on('load', function() {         
        beforeTimes.push(beforeLoad); 
        loadTimes.push((new Date()).getTime()); 
        try { 
         $('#frame_id').attr('src', array.pop()); 
         $.each(loadTimes, function (index, value) { 
          var result = (value - beforeTimes[index])/1000; 
           if (result < 0) { 
            result = result * (-1); 
           } 
          $("#loadingtime" + index).html(result); 
          beforeLoad = value; 
         }); 
        } catch(ex) {} 
       }).attr('src', array.pop()); 
      }); 
     </script> 

這將包,你實際上是推網址進入「src」屬性,從而發射的要求。

+0

不適用於我不幸的是:(它的工作方式與或不包括try catch塊 – user1894929 2013-03-05 14:09:52