使用Javascript实现页面每30秒刷新,存在指定文本时停止刷新
最终可用脚本代码
// 检测页面是否存在目标短语 const containsTarget = document.body.textContent.includes("Important shizzle") // 仅当不存在目标短语时,设置30秒后自动刷新 if (!containsTarget) { setTimeout(() => { location.reload() }, 30 * 1000) }
实现逻辑说明
- 脚本在每次页面加载完成后自动运行,第一步优先检测页面内容是否包含
Important shizzle - 如果检测到目标短语存在,不会设置刷新定时器,脚本运行结束后无后续操作,自然停止刷新逻辑,不需要额外的终止脚本命令
- 如果未检测到目标短语,会设置30秒延时刷新,页面刷新后脚本会自动重新运行,再次执行检测逻辑,以此实现循环检测、定时刷新的需求
原尝试代码的问题
你之前编写的代码没有加入setTimeout延时逻辑,页面加载后会立刻执行刷新判断,没有30秒等待间隔,因此无法满足定时检测的需求。
内容的提问来源于stack exchange,提问作者Nicholas Kunze
相关产品推荐
相关产品推荐

