您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
等待满足某种条件后执行,目前不支持嵌套调用
当前为
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.gf.qytechs.cn/scripts/412875/856255/WaitUntil.js
// ==UserScript== // @name WaitUntil // @namespace http://bbs.91wc.net/?wait-until // @version 0.1 // @description 等待满足某种条件后执行,目前不支持嵌套调用 // @author Wilson // ==/UserScript== var WaitUntil = (function(){ var waitUntil=function(condfunc, callback, interval, trys){ var getGuid = getGuid||function() { var d = new Date().getTime(); var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { var r = (d + Math.random()*16)%16 | 0; d = Math.floor(d/16); return (c=='x' ? r : (r&0x3|0x8)).toString(16); }); return uuid; }; var timer = {}, counter={}; var waiter = function(condfunc, callback, interval, trys, guid){ guid = guid || getGuid(); interval = interval || 100; trys = trys || 300; counter[guid] = counter[guid] ? counter[guid]++ : 1; if(counter[guid]>trys){ if(timer[guid]) clearTimeout(timer[guid]); //callback('fail'); return; } timer[guid] = setTimeout(function(){ if(condfunc()){ if(timer[guid]) clearTimeout(timer[guid]); callback('ok'); } else { if(timer[guid]) clearTimeout(timer[guid]); waiter(condfunc, callback, interval, trys, guid); } }, interval); } waiter(condfunc, callback, interval, trys); } return waitUntil; })(); //使用示例 //WaitUntil(function(){return typeof jQuery !=="undefined" && $(".test").length>0}, function(){ // alert($(".test").html()); //}); //其他参数 //condfunc 满足条件的函数 //callback 条件满足后执行的回调函数 //interval 监听满足条件的时间间隔,单位毫秒,默认100 //trys 尝试次数,超过这个数值就停止监听,默认为300(因默认间隔是100毫秒,所以默认停止监控时间为300*100毫秒,即30秒)
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址