油猴脚本阻止 setTimeout()运行的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
leehon
V2EX    问与答

油猴脚本阻止 setTimeout()运行的问题

  •  
  •   leehon 2015-07-18 19:20:17 +08:00 3533 次点击
    这是一个创建于 3745 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一个APP内嵌的网页,页面有个setTimeout()方法,如果不是APP打开,就调用location.href跳转到APP下载页面。我的想法是阻止或删除setTimeout(),这样就能在电脑浏览器打开了

    我在Chrome安装了油猴,对前端和油猴实在不了解。我试了dom的getElement系列方法,好像获取不到js函数;我查了一下clearTimeout()可以阻止setTimeout()运行,但需要setTimeout()返回的ID,页面是直接运行的,无ID可用……
    9 条回复    2015-07-18 21:26:32 +08:00
    tux
        1
    tux  
       2015-07-18 19:49:48 +08:00   1
    试试重定义页面的 "location.href" 方法,这样即使到时间调用,也不会跳了
    zsx
        2
    zsx  
       2015-07-18 19:50:53 +08:00   1
    window.setTimeout = function() { /*Your code here */ }
    kfll
        3
    kfll  
       2015-07-18 20:15:39 +08:00   1
    有挺多方法能完成你的需求的...

    比如看他判断是不是 app 的逻辑,随便劫持掉一个条件

    比如你说的 clearTimeout ,不知道 ID 的情况下,你从 0 清到 10000 大概也都清完了

    另外 location 是无法重定义的
    leehon
        4
    leehon  
    OP
       2015-07-18 21:15:03 +08:00
    我写了window.setTimeout=null;现在不跳转了,但是页面的其他js没办法执行了,不知道什么原因
    wkdhf233
        6
    wkdhf233  
       2015-07-18 21:23:13 +08:00
    https://addons.mozilla.org/zh-cn/firefoxaddon/foxreplace/
    试试用这玩艺把location.href给替换掉?
    wkdhf233
        7
    wkdhf233  
       2015-07-18 21:24:07 +08:00
    槽,发完才看到你是扣肉党。。
    KCheshireCat
        8
    KCheshireCat  
       2015-07-18 21:24:50 +08:00
    设置
    // @run-at document-start
    来让脚本优先运行
    setTimeout = function(X) {'''};
    把setTimeout函数覆盖掉,如果有其他部分使用setTimeout函数,
    可以
    sT = setTimeout;
    setTimeout = function(X) {
    if( '某种对X参数的判断' ) sT(X);
    };
    iNaru
        9
    iNaru  
       2015-07-18 21:26:32 +08:00
    @leehon null的话,应该会抛出setTimeout is not a function的异常,中断js了吧。
    按楼上改为window.setTimeout = function(){}; 看看。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1249 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 17:28 PVG 01:28 LAX 10:28 JFK 13:28
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86