2013-03-01 3 views
0

я получил сценарий, который проверяет загрузку разы нескольких URL-адресов, которые хранятся в текстовом файле:Детектирование если источник 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 в моем списке с «же origine '(например, google), это приведет к сбою моего скрипта и не проверяет значения загрузки других URL-адресов в списке. Я думал, что я мог бы видеть, если конкретный URL имеет «же Origine» ошибка, я бы изменить, что URLs загрузки результата «нет в наличии» или что-то:

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

так что да, может я как-то увидеть, если определенный URL будет дайте мне ошибку «того же самого происхождения», прежде чем я сделаю свои расчеты для времени загрузки?

ответ

1

Если вы не можете прочитать атрибут src iframe, у вас есть контент, который не принадлежит к одному домену.

<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 Вы пытались использовать блок catch try? – rekire

+0

Нет, я не знаю, как, плохо в это прямо сейчас – user1894929

Смежные вопросы