时间网站setinterval无法劫持分析
# 前文很多人都好奇时间网站为什么setinterval失效无法劫持了
http://time.tianqi.com/
这里我们实战一下如何分析这个网站
![图片.png](data/attachment/forum/202203/12/000103ypn3bsnnsnsnwssd.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "图片.png")
我们知道秒一直在改变
找到对应节点
右键,设置发生中断条件,子树修改
![图片.png](data/attachment/forum/202203/12/000129p9m1r1r79m8amfq3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "图片.png")
会在这里断下,这里推荐用chrome浏览器,其他浏览器因为自身问题可能无法查看源代码,如ff
观察堆栈发现
![图片.png](data/attachment/forum/202203/12/000153vkvsnhs20sodziyi.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "图片.png")
这里现在变成了setTimeout来进行反复调用
再观察代码
```js
NewTick();
// s=nyear+'年'+nmonth+'月'+nday+'日 '+'星期'+cweekday(nwday)+' ';
document.getElementsByClassName("hour_box").innerHTML=shapetime(nhrs);
document.getElementsByClassName("minute_box").innerHTML=shapetime(nmin);
document.getElementsByClassName("seconds_box").innerHTML=shapetime(nsec);
setTimeout("Draw()",500);
```
每次赋值之后设置Settimeout在500ms后进行下一次Draw的自身回调
# 结语
破案~
还可能直接是requestAnimationFrame帧动画
页:
[1]