我想制作一个脚本来刷新网页,直到出现特定的字符串,例如“ John Smith”。但是,该字符串在页面中似乎已经消失了,但是我希望仅当它出现在页面的特定部分时才停止刷新。我该怎么办?
var FREQUENCY = 300000;
var text = document.body.innerHTMl || document.body.textContent;
var yourTime = new Date();
if (text.indexOf("John Smith") < 0) {
alert(yourTime);
} else {
var lastCheck = document.createElement("div");
lastCheck.innerHTML = "Last Check: " + yourTime.toString();
var parent = document.getElementsByClassName("content")[0];
parent.insertBefore(lastCheck, parent.children[1]);
window.setTimeout(window.location.reload, FREQUENCY);
}
答案 0 :(得分:0)
在reloaded
之前在localStorage中检查window.location.reload
,然后可以将标志reloaded
设置为localStorage
答案 1 :(得分:0)
让我们建议,您确切知道此特殊字符串在DOM中的位置。 然后,您需要对该元素进行查询,并且问题的第一部分应该很清楚。您将具有元素的ID,类名或XPath
关于重新加载,您需要找到一种方法来停止它。 最简单的方法是跳过它。像这样:
var isStringFound = text.indexOf("John Smith") > -1;
if (isStringFound === false) {
window.location.reload
}
因此,最终代码将如下所示:
var DOMToSerach = document.querySelector("#specialSecion");
var text = DOMToSerach.innerText || "";
var isStringFound = text.indexOf("John Smith") > -1;
if (isStringFound === false) {
window.location.reload
}