2013-03-01 45 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

相关问题