刷新页面,直到特定字符串出现在页面的特定部分

时间:2019-08-26 06:20:01

标签: javascript html css

我想制作一个脚本来刷新网页,直到出现特定的字符串,例如“ 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);
}

2 个答案:

答案 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
}