【问题标题】:Reload a div by using the same div使用相同的 div 重新加载 div
【发布时间】:2011-10-14 14:06:02
【问题描述】:

我想编写一个每 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>

【问题讨论】:

  • xmlHttp.open("GET","#ReloadDIV",true); - 您正在获取 URL #ReloadDIV,它是一个元素的选择器。你确定这就是你想要的吗?
  • 我知道我必须放置一个 url,但是我想使用 div 的 url(每 10 秒检查一次。以更新自身)

标签: javascript html xmlhttprequest greasemonkey reload


【解决方案1】:

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

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

readyState = 4 表示请求已完成,响应已准备好,status = 200 是来自服务器的 OK 响应

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2013-11-26
      • 1970-01-01
      • 1970-01-01
      • 2015-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多