切换导航会刷新url和页面 导致猴油脚本失效 求助怎么解决这个问题?-灵析社区

爱打瞌睡的三角龙

一个页面有两个导航,切换导航会刷新url和页面 导致猴油脚本失效 求助怎么解决这个问题? ![](https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241108/682d660bfe1ca1e754e90e636a23fb61.png) ![](https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241108/e0b1970400eda19e6c592809ae228ea9.png) (function () { 'use strict'; function main() { // 父元素 const parent = document.querySelector('#gar-sub-app-provider'); const search = parent.querySelector('button.ant-btn.ant-btn-primary'); search.addEventListener('click', function () { let timerId; let count = 0; timerId = setInterval(() => { console.log('打印测试') if (count < 20) { clearInterval(timerId); } count++; }, 100) }); } window.onload = function () { main(); }; })(); 每次点击查询重启计时器,我试过 在不切换导航的时候会正常运行,但是页面操作完成后会强制性切换到打款记录的页面,我再次点击发起打款 返回后 点查询 定时器就失效了 为什么? ![](https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241108/cb6e2526bfd6b108c1352dea466e68d8.png) 我试过 这样的载入方法也不行 document.addEventListener('DOMContentLoaded', function() { main(); });

阅读量:22

点赞量:0

问AI
这种情况我一般都是写意一个 "setInterval" ,在 main 函数中做一个标记,标记逻辑是否生效 1. 先检查逻辑是否已经生效,如果已生效,则跳过 2. 如果没有标记,则初始化一下 相当于一个轮询,比如200ms,一直检查代码是否生效,否则就初始化。