无需绑定按键的addEventListener替代方案 实现进站即自动运行代码
实现方案
完全不需要绑定键盘事件,你可以直接把原按键触发的核心逻辑抽离出来自动执行即可,有两种实现方式可选:
1. 稳妥版本(推荐)
监听页面DOM加载完成事件触发逻辑,避免页面资源未加载完成导致login函数未定义的报错:
document.addEventListener('DOMContentLoaded', () => { // 保留原有的页面地址校验逻辑 if(!["https://discord.com/login", "http://gcstack.com/login"].includes(window.location.href)) return; console.log("Prompting for token..."); let token = prompt("Give the token"); if(!token) { console.log("No token provided. Aborting!"); return; } login(token); })
2. 极简版本(无需任何addEventListener)
如果你的脚本本身是在页面底部引入,或者可以保证执行时login函数已经挂载完成,可以直接写核心逻辑,不需要绑定任何事件:
// 直接执行校验+弹窗逻辑即可 if(!["https://discord.com/login", "http://gcstack.com/login"].includes(window.location.href)) return; console.log("Prompting for token..."); let token = prompt("Give the token"); if(!token) { console.log("No token provided. Aborting!"); return; } login(token);
- 补充说明:如果遇到
login is not defined的报错,可以给逻辑加个短延迟兜底,比如用setTimeout(核心逻辑, 300)包裹,延迟几百毫秒执行适配不同站点的资源加载速度。
内容的提问来源于stack exchange,提问作者Sulty
相关产品推荐
相关产品推荐

