使用相同的div重新加载div

时间:2011-10-14 14:06:03

标签: javascript html xmlhttprequest greasemonkey reload

我想写一个每隔10秒重新加载一次的greasemonkey脚本。相同页面的同一div。但我只知道如何将一个完整的页面加载到div :( 当然我下面的剧本不起作用......

function Ajax(){
var xmlHttp;
    try{    
        xmlHttp=new XMLHttpRequest();
    }catch (e){
        try{
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        }catch (e){
            try{
                xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
            }catch (e){
                alert("No AJAX!?");
                return false;
            }
        }
    }
    xmlHttp.onreadystatechange=function(){
        document.getElementById('ReloadDIV').innerHTML=xmlHttp.responseText;
        setTimeout('Ajax()',10000);
    }
    xmlHttp.open("GET","#ReloadDIV",true);
    xmlHttp.send(null); 
}
window.onload=function(){
    setTimeout('Ajax()',10000);
}


<div id="ReloadDIV">Text Text</div>

2 个答案:

答案 0 :(得分:0)

我认为一个问题是 onreadystatechage 应该是:

xmlHttp.onreadystatechange=function(){
if (xmlHttp.readyState==4 && xmlHttp.status==200)
    {
    document.getElementById('ReloadDIV').innerHTML=xmlHttp.responseText;
    setTimeout('Ajax()',10000);
    }
    }

readyState = 4 表示请求已完成且响应已准备就绪且状态= 200 是来自服务器的OK响应

答案 1 :(得分:0)

“我想写一个每10秒重新加载一次同一页面的同一个div的greasemonkey脚本。”

这不能像你试图这样做xmlHttp.open只适用于有效的网址。您可能想要做的是调用页面,抓取它并抓住您想要的元素,然后替换div。