2013-03-01 49 views
0

我有一個腳本來檢查多個網址存儲在一個txt文件的加載時間:檢測是否iframe的來源有「相同的原產」保護

$.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()); 
    }); 

如果我在我的列表中的網址以「同原始'保護(例如谷歌),它會崩潰我的腳本,並不會檢查加載列表中的其他URL的值。我想我可以看到,如果一個特定的URL具有「相同的原產」的錯誤,我會改變URL加載結果「不可用」或東西:

 if(url has same origine){ 
result = "loading time not available"; 
} else { 
//do my calculations 

所以是的,我可以以某種方式看到,如果一個特定的URL將在我進行加載時間的計算之前,給我「相同的原點」錯誤?

回答

1

如果您無法閱讀iframe的src屬性,那麼您的某些內容不屬於同一個域。

<iframe src="./" height="300" width="300" name="example"></iframe> 
<input type="button" onclick="alert(document.getElementsByName('example')[0].src);" value="test" /> 
<a href="http://www.google.com" target="example">click me</a> 

上面的代碼應該給你一個想法。但是,這段代碼在jsfiddle上不起作用。

+0

是的,即時得到'相同的原產地'的錯誤,因爲這一點,它崩潰列表中的其他網址的所有計算,我不想加載該網址女巫給了我'相同的原產地',我只是想我的其他網址加載 – user1894929 2013-03-01 08:10:48

+1

@ user1894929你嘗試使用try catch塊嗎? – rekire 2013-03-01 08:20:21

+0

nope,我不知道如何,現在生病了 – user1894929 2013-03-01 08:24:49

相關問題