2015-05-12 5 views
2

У меня есть iframe на моем сайте, который указывает на стороннюю страницу (т. Е. Не на моем домене, и у меня нет никакого контроля на их сервере).Получить код статуса ответа для перекрестного домена iframe?

Я хочу, чтобы иметь возможность просто проверить, правильно ли загружен их сайт внутри iframe или нет. Там могут быть случаи, когда -

  • он блокируется каким-то брандмауэра
  • их обслуживание вниз или что-то.

Так что я могу показать правильное сообщение об ошибке внутри iframe в этом случае. Я надеялся, что каким-то образом узнаю код статуса ответа iframe. Как я могу добиться чего-то подобного?

+0

Вы пытались выполнить запрос 'AJAX' для загрузки данных в' div' вместо 'iframe'? –

+0

Вы имеете в виду запрос AJAX на стороннюю страницу? –

+0

'$ (" #result ") .load (" ajax/test.html ", function() { alert (« Нагрузка выполнена ».) });' –

ответ

0

Попробуйте это.

<script> 
function checkIframeLoaded() { 
    // Get a handle to the iframe element 
    iframe = document.getElementById('your_iframe'); 

    var iframeDoc = iframe.contentDocument || iframe.contentWindow.document; 

    // Check if loading is complete 
    if ( iframeDoc.readyState == 'complete') { 

     iframe.contentWindow.onload = function(){ 
      alert("I am loaded"); 
     }; 

     // The loading is complete, call the function we want executed once the iframe is loaded 
     afterLoading(); 
     return; 
    } 

    // If we are here, it is not loaded. Set things up so we check the status again in 100 milliseconds 
    window.setTimeout('checkIframeLoaded();', 100); 
} 

function afterLoading(){ 
    alert("I am here"); 
} 
</script> 

<body onload="checkIframeLoaded();"> 
+1

Я сомневаюсь, что вы сможете получить '.contentDocument' на iframe из-за того же ограничения на начало. –

+0

Да, я попробовал и получил ту же ошибку происхождения –

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