2013-03-01 1 views
0

내가 txt 파일에 저장되어 여러 URL의 로딩 시간을 확인하는 스크립트를 가지고있는 경우 : 내가 같은 '내 목록에서 URL을 가지고있는 경우검출은 iframe 소스는 '같은 origine'보호

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

origine 'protection (예를 들어 google)을 사용하면 스크립트가 다운되고 목록에있는 다른 URL의 값을로드하지 않을 것입니다. 특정 URL이 가만히 있으면

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

그래서 그래, 내가 어떻게 든 볼 수 있습니다 : 나는 특정 URL이 '같은 origine'오류가있는 경우 내가, 내가 URL은 "사용할 수없는"결과를로드하거나 어떤 것을 바꿀 것 볼 수 있었다 생각했다 로딩 시간에 대한 계산을하기 전에 '같은 origine'에러를 주시겠습니까?

답변

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

예, 그 때문에 '같은 원본'오류가 발생하고 목록의 다른 URL에 대한 모든 계산이 충돌합니다. 해당 URL을로드하고 싶지 않습니다. 마녀가 내게 '동일한 원본'을 제공하고, 다른 URL을 원합니다. – user1894929

+1

@ user1894929를로드하려고하면 try catch 블록을 사용하려고 시도 했습니까? – rekire

+0

아니, 나도 몰라, 아프다. – user1894929