跳转
window.location.href = "http://www.herokay.com/";
延时执行
为什么不用setTimeout??自行体会
window.sleep = function(ms){
return new Promise(resolve => setTimeout(resolve, ms || 1000))
};
// 延时3秒后进入未学课程
(async () => {
await sleep(3000);
//执行后执行代码
})();
遍历元素
$("li.ovd").each(function()
{
//执行代码
});
点击元素
$(el).trigger("click");
$("#img_right")[0].click();
使用本地js
// @require file:///C:/js/jquery.js
屏蔽alert弹窗
unsafeWindow.alert=function(msg) {console.info(msg);};
window.alert=function(msg){console.info(msg);};
失去焦点暂停
window.onblur=null;
移除事件
下面代码仅限控制台使用,因为getEventListeners属于Devtool API,js无法直接使用
getEventListeners(document).visibilitychange.forEach(fn => document.removeEventListener("visibilitychange",fn.listener));
下面代码通用,在tampermonkey中加入run-at document-start
let oldadd=EventTarget.prototype.addEventListener
EventTarget.prototype.addEventListener=function (...args)
{
if(args[0] == "visibilitychange")
{
console.info("拦截成功");
}
else
{
oldadd.call(this,...args);
}
}