Greasy Fork

Greasy Fork is available in English.

跳过弹窗提示 - 增强版

自动跳过所有类型的弹窗提示(alert、confirm、prompt),支持日志记录和自定义配置

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

作者
xln-tj
日安装量
1
总安装量
785
评分
2 0 0
版本
2025.10.19
创建于
2022-09-21
更新于
2025-10-19
大小
5.0 KB
许可证
MIT
适用于

跳过弹窗提示 - 增强版

一个功能强大的用户脚本,用于自动跳过网页中所有类型的弹窗提示(alert、confirm、prompt)。

📋 目录

✨ 功能特性

  • 自动拦截三种弹窗:alert、confirm、prompt
  • 即时生效:页面加载前就开始拦截,无延迟
  • 统计功能:记录拦截次数,便于监控
  • 日志记录:可选的控制台日志输出
  • 屏幕通知:可选的右下角拦截提示
  • 灵活配置:支持自定义返回值和行为
  • 控制接口:提供完整的 JavaScript API
  • 可恢复性:可随时恢复原始弹窗功能

📦 安装方法

前提条件

首先需要安装一个用户脚本管理器:

安装脚本

  1. 点击用户脚本管理器图标
  2. 选择「添加新脚本」或「创建新脚本」
  3. 将完整的脚本代码复制粘贴到编辑器中
  4. 保存脚本(Ctrl+S 或 Cmd+S)

支持的网站

默认支持以下网站:

如需添加其他网站,请修改脚本头部的 @match 行。

📖 使用说明

基础使用

脚本安装后会自动运行,无需任何操作。所有弹窗将被自动拦截:

  • alert 弹窗:直接跳过,不显示任何内容
  • confirm 弹窗:自动返回 true(可配置)
  • prompt 弹窗:自动返回空字符串(可配置)

查看拦截统计

打开浏览器控制台(F12),输入:

window.popupBlocker.showStats()

输出示例:

[弹窗拦截] 统计信息: {
  Alert 拦截次数: 5,
  Confirm 拦截次数: 2,
  Prompt 拦截次数: 1,
  总计: 8
}

⚙️ 配置选项

在脚本代码中找到 CONFIG 对象,可以修改以下选项:

const CONFIG = {
    enableLog: false,           // 是否在控制台记录被拦截的弹窗
    logPrefix: '[弹窗拦截]',    // 日志前缀
    confirmReturn: true,        // confirm 函数的返回值
    promptReturn: '',           // prompt 函数的返回值
    showNotification: false,    // 是否显示通知(右下角提示)
    notificationDuration: 2000  // 通知显示时长(毫秒)
};

配置说明

选项 类型 默认值 说明
enableLog Boolean false 启用后会在控制台输出拦截日志
logPrefix String '[弹窗拦截]' 日志消息的前缀
confirmReturn Boolean true confirm 弹窗的返回值
promptReturn String '' prompt 弹窗的返回值
showNotification Boolean false 在右下角显示拦截通知
notificationDuration Number 2000 通知显示时长(毫秒)

运行时修改配置

无需编辑脚本,可以在控制台动态修改配置:

// 启用日志记录
window.popupBlocker.updateConfig({ enableLog: true })

// 启用屏幕通知
window.popupBlocker.updateConfig({ showNotification: true })

// 修改 confirm 返回值为 false
window.popupBlocker.updateConfig({ confirmReturn: false })

// 修改 prompt 返回值
window.popupBlocker.updateConfig({ promptReturn: '默认文本' })

// 查看当前配置
window.popupBlocker.getConfig()

🎮 控制接口

脚本提供了完整的 JavaScript API,可通过 window.popupBlocker 访问:

showStats()

显示拦截统计信息

window.popupBlocker.showStats()

getStats()

获取统计数据对象

const stats = window.popupBlocker.getStats()
console.log(`总共拦截了 ${stats.alertCount} 个 alert 弹窗`)

resetStats()

重置所有统计计数

window.popupBlocker.resetStats()

restore()

恢复原始弹窗函数(用于调试)

window.popupBlocker.restore()
// 现在弹窗会正常显示

updateConfig(newConfig)

更新配置选项

window.popupBlocker.updateConfig({
    enableLog: true,
    showNotification: true
})

getConfig()

获取当前配置

const config = window.popupBlocker.getConfig()
console.log(config)

❓ 常见问题

Q: 脚本不生效怎么办?

A: 请检查以下几点:

  1. 确认已安装用户脚本管理器(如 Tampermonkey)
  2. 确认脚本已启用(管理器图标上没有禁用标记)
  3. 确认当前网站匹配 @match 规则
  4. 尝试刷新页面(Ctrl+F5 强制刷新)
  5. 查看控制台是否有错误信息

Q: 如何添加更多网站?

A: 在脚本头部添加新的 @match 行:

// @match        http://your-website.com/*
// @match        https://another-site.com/*

或使用通配符匹配所有网站(不推荐):

// @match        *://*/*

Q: 能否针对特定网站使用不同配置?

A: 可以在脚本中添加域名检测:

// 根据域名设置不同配置
if (location.hostname === 'sysaq.imu.edu.cn') {
    CONFIG.confirmReturn = true;
} else if (location.hostname === 'labsra.scau.edu.cn') {
    CONFIG.confirmReturn = false;
}

Q: 如何暂时禁用脚本?

A: 三种方法:

  1. 在用户脚本管理器中切换脚本开关
  2. 在控制台运行 window.popupBlocker.restore() 恢复弹窗
  3. 在脚本管理器中编辑脚本,注释掉主要代码

Q: 会影响网站正常功能吗?

A:

  • 大多数情况下不会影响
  • 如果某些功能需要用户确认,confirm 会自动返回 true
  • 如果需要用户输入,prompt 会返回空字符串
  • 可以通过修改 confirmReturnpromptReturn 来调整

Q: 如何调试问题?

A: 启用日志记录查看详细信息:

window.popupBlocker.updateConfig({ 
    enableLog: true,
    showNotification: true 
})

然后观察控制台输出和屏幕通知。

📝 更新日志

v2025.10.19(最新版)

  • ✨ 新增 prompt 弹窗拦截
  • ✨ 添加统计功能
  • ✨ 添加可配置选项
  • ✨ 提供完整的控制 API
  • ✨ 支持运行时配置修改
  • ✨ 可选的屏幕通知
  • ✨ 可选的日志记录
  • 🔧 使用 @run-at document-start 立即生效
  • 🔧 移除不必要的 5 秒延迟
  • 🔧 代码重构,使用 IIFE 避免全局污染

v2024.9.14(原始版)

  • 基础的 alert 和 confirm 拦截功能
  • 5 秒延迟后生效

📄 许可证

MIT License - 自由使用、修改和分发

🤝 贡献

欢迎提交问题和改进建议!

💡 提示

  • 建议在使用前先在测试环境验证
  • 某些重要操作可能需要用户确认,请谨慎使用
  • 可以为不同网站创建不同版本的脚本
  • 定期查看统计信息了解拦截情况

享受无打扰的浏览体验! 🎉