Javascript 检查网站isn';t工作不正常
我已经写了一个代码来每秒检查一个网站的页面,但是我认为我做了一些错误的事情,因为它只在第一次调用函数时才得到数字。之后,调用的每个其他函数都会一次又一次地得到相同的数字,即使实际页面上的数字发生了变化。我做错了什么Javascript 检查网站isn';t工作不正常,javascript,Javascript,我已经写了一个代码来每秒检查一个网站的页面,但是我认为我做了一些错误的事情,因为它只在第一次调用函数时才得到数字。之后,调用的每个其他函数都会一次又一次地得到相同的数字,即使实际页面上的数字发生了变化。我做错了什么 checkPage(); function checkPage() { var html = document.getElementsByTagName('html')[0]; var text = html.innerHTML; var matches = text.match
checkPage();
function checkPage() {
var html = document.getElementsByTagName('html')[0];
var text = html.innerHTML;
var matches = text.match(/Numbers \(([0-9]+)\)/);
console.log(matches[0]);
setTimeout(function(){ checkPage() }, 1000);
}
尝试使用
setInterval(检查页面,1000)调用函数代码>不在函数内部。我查找了HTTP GET函数,现在它可以工作了
function httpGet(theUrl) {
var xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", theUrl, false ); // false for synchronous request
xmlHttp.send( null );
return xmlHttp.responseText;
}
checkPage();
function checkPage() {
var text = httpGet("https://example.com");
var matches = text.match(/Numbers \(([0-9]+)\)/);
setTimeout(function(){ checkPage() }, 1000);
}
为什么页面的文本在加载后会发生变化?给我贴一个pleaseWorks:@j08691举个例子,如果一个网站上有100双鞋在打折,有人点击buy,剩下99双鞋,但是我的脚本只在第一次调用这个函数时得到鞋的数量。在这之后,无论剩下多少只鞋,它都会一次又一次地得到相同的数字。@ConstantinGroß是的,只要数字不变。假设你不拥有该页面并且该页面没有实时更新(即,你必须刷新页面以查看新文本),那么你应该考虑每n秒发出一次HTTP GET请求。