我正在使用隐藏的Iframe在后台刷新页面,以保持访问令牌的新鲜感,而无需刷新整个页面。这项工作在所有浏览器中都很棒,但在IE浏览器中,当IE刷新时,IE会从桌面上的任何东西中窃取焦点。所以我的问题是有一个隐藏的Iframe的ajax替代方案或更好的方法来处理它?这是我的代码:
<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>
答案 0 :(得分: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请求应该这样做。
编辑: - 正如Archer在你的问题的评论中所说,如果它是跨域的,那么它将不起作用。