隐藏的iframe刷新Ajax替代方案?

时间:2016-11-01 15:37:37

标签: javascript jquery html ajax iframe

我正在使用隐藏的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>

1 个答案:

答案 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在你的问题的评论中所说,如果它是跨域的,那么它将不起作用。