2016-11-01 3 views
-1

Я использую скрытый iframe, чтобы обновить страницу в фоновом режиме, чтобы сохранить токен доступа без обновления всей страницы. Эта работа отлично работает во всех браузерах, но IE, в IE, когда происходит обновление IE бросает фокус с чего-либо на рабочем столе. Итак, мой вопрос: есть ли альтернатива ajax для скрытого iframe или лучший способ справиться с этим? Это мой код:Скрытый iframe Обновить Ajax Alternative?

<iframe Id="hidden" src="https://www.xxxxxxxx.com" 
    style="visibility: hidden; 
     position: absolute; 
     left: 0; top: 0; 
     height:100%; width:0; 
     border: none;" 
    onload="refresh()"> 
</iframe> 
<script> 
    function refresh() { 
     console.clear(); 
     setTimeout(refreshCookie, 60000); 
     function refreshCookie() { 
      document.getElementById('hidden').src = document.getElementById('hidden').src; 
     }; 
    }; 
</script> 
+1

Есть ли другая страница в другом домене? Если это так, вы будете иметь проблемы с перекрестным происхождением. – Archer

ответ

0
const refresh =() => { 
    var xhttp = new XMLHttpRequest(); 
    xhttp.onreadystatechange =() => { 
     if (this.readyState == 4 && this.status == 200) { 
       // Request ok. 
     } 
    }; 

    xhttp.open("GET", "YOUR.URL", true); 
    xhttp.send(); 
}  

setInterval(refresh, 10000); //refresh every 10 seconds. 

Основной запрос AJAX должен делать.

EDIT: - Как сказал Арчер в комментариях к вашему вопросу, если это междоменный домен, это не сработает.

+0

Добавьте 'setTimeout' или' setInterval', если вы хотите периодически обновлять страницу. – nicovank

+0

Извините, что я очень новичок в ajax, где я могу установить url и setimeout? – llerdal

+0

@llerdal - вы должны проверить мой вопрос в комментариях выше. Если страница находится в другом домене, это не сработает. – Archer

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