Перезагрузите div, используя тот же div - PullRequest
0 голосов
/ 14 октября 2011

Я хочу написать скрипт greasemonkey, который перезагружается каждые 10 секунд.тот же 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 голосов
/ 14 октября 2011

"Я хочу написать скрипт greasemonkey, который каждые 10 секунд перезагружает один и тот же div этой же страницы."

Это невозможно сделать так, как вы пытаетесь это сделать.,То, что вы, вероятно, хотели бы сделать, это вызвать страницу, очистить ее, взять нужные элементы и затем заменить div.

0 голосов
/ 14 октября 2011

Я думаю, что одной из проблем является onreadystatechage , которое должно быть:

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

readyState = 4 означает, что запрос завершен, ответ готов и status = 200 - правильный ответ от сервера

...