Jira Activity Module Fullscreen Toggle

为Jira活动日志模块添加全屏切换功能(默认关闭,手动启用)

Автор
Stray Birds
Щоденних встановлень
0
Всього встановлень
0
Рейтинги
0 0 0
Версія
1.0
Створено
10.10.2025
Оновлено
10.10.2025
Size
5,7 кБ
Ліцензія
Н/Д
Відноситься до

✅ 功能描述

本脚本在 Jira 问题页面的「活动日志(Activity Log)」模块标题右侧动态添加一个切换按钮

  • 默认不自动开启全屏 — 页面加载后保持原布局,不干扰用户。
  • 点击「全屏模式」 → 活动日志模块全屏展开,隐藏侧边栏和其他模块,专注查看日志。
  • 点击「退出全屏」 → 恢复原始布局,所有隐藏元素重新显示。
  • 防重复执行机制 — 避免重复添加按钮或样式冲突。
  • 兼容性强 — 适配 Jira 页面结构,使用安全的 DOM 查询和样式控制。
  • 轻量无依赖 — 无外部库,纯原生 JS,性能开销极小。

适用场景:

  • 查看长篇评论或大量活动记录时
  • 需要专注阅读变更历史、评论内容
  • 在会议或演示中突出显示活动日志

💡 设计思路

  1. 精准定位 通过 #activitymodule#activitymodule_heading 精准定位活动日志模块及标题栏,避免误操作其他模块。

  2. 动态插入按钮 在标题栏末尾创建按钮,样式采用现代 UI 设计(圆角、阴影、悬停过渡),与 Jira 原生风格协调。

  3. 非侵入式控制

    • 不修改 Jira 原有功能逻辑
    • 使用 dataset 标记被隐藏元素,确保恢复时精准还原
    • 使用 !important 确保全屏样式优先,避免被 Jira 样式覆盖
  4. 稳定性增强

    • 添加 window.activityFullscreenScriptLoaded 全局锁,防止 Tampermonkey 多次注入
    • 设置 3 秒后重试机制,应对 Jira 动态加载延迟
    • 所有 DOM 操作前检查元素是否存在,避免报错
  5. 用户体验优化

    • 按钮文字与颜色随状态切换(蓝→红)
    • 控制台输出日志,便于调试
    • 平滑过渡动画提升交互体验

⚙️ 安装与使用

安装步骤:

  1. 安装 Tampermonkey 浏览器扩展(Chrome / Edge / Firefox 均支持)
  2. 点击 Tampermonkey 图标 → “创建新脚本”
  3. 删除默认内容,粘贴本脚本代码 → 保存(Ctrl+S)
  4. 刷新 Jira 问题页面(如 https://jira-sh.xxxxauto.com:8080/browse/XXX-123
  5. 在“活动日志”标题右侧查看按钮 → 点击即可切换全屏

✅ 脚本仅在匹配 URL *://jira-sh.xxxxauto.com:8080/* 时运行,不影响其他网站。

使用提示:

  • 如果按钮未出现,请等待 3~5 秒或手动刷新页面
  • 如遇样式异常,可多次点击按钮重置状态
  • 支持在多个 Jira 问题页面间跳转,脚本会自动重新绑定

❓ 常见问题

Q1:按钮没出现怎么办?

  • 等待几秒,Jira 可能还在加载
  • 检查 URL 是否匹配(当前脚本只在 jira-sh.xxxxauto.com:8080 下运行)
  • 打开控制台(F12)查看是否有报错
  • 尝试手动刷新页面

Q2:全屏后页面错乱?

  • 多半是 Jira 页面结构有变动,可尝试点击按钮几次重置
  • 或联系作者更新选择器

Q3:能否支持其他 Jira 实例?

可以!只需修改 @match 行:

// @match        *://your-jira-domain.com/*

Q4:能否记住上次全屏状态?

可以,后续版本可加入 localStorage 记忆功能 —— 请使用上方“完整AI输入词”提出此需求,我将为你升级。


📝 更新日志

v1.0(当前版本)

  • ✅ 彻底修复按钮重复创建问题
  • ✅ 修复全屏后页面内容消失问题
  • ✅ 增加防重复执行全局锁
  • ✅ 优化样式优先级和恢复逻辑
  • ✅ 增加重试机制提升稳定性
  • ✅ 简化代码结构,提高可维护性

🤝 贡献与反馈

欢迎提出功能建议、报告 Bug 或贡献代码!

  • 🐞 报告问题:请提供控制台错误截图 + Jira 页面 URL
  • 💡 功能建议:使用“完整AI输入词”格式描述你的需求
  • 📬 联系作者:通过 GitHub Issue 或评论区留言