我想写一个每隔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>
答案 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。