Version History
View all published versions, including stable and prerelease versions. You can install any version or view its source code.
- 使用CSS变量:将样式值存储在CSS变量中,只需更新一次样式表
- 优化存储机制:使用Set数据结构提高查找效率,使用防抖减少存储写入频率
- 事件委托:减少事件监听器数量,提高事件处理效率
- DOM操作优化:使用更高效的DOM查询和操作方法
- 延迟执行:在DOMContentLoaded后初始化脚本,减少对页面加载的影响
- MutationObserver优化:只处理新增节点,减少不必要的DOM操作
- 内存管理:避免内存泄漏,使用局部变量和适当的作用域
鼠标中键支持:
- 添加了
auxclick
事件监听器,当检测到鼠标中键点击(e.button === 1
)时处理链接标记
- 复用相同的标记逻辑确保中键点击与左键点击行为一致
按钮内链接支持:
- 添加了按钮点击事件监听器
- 当点击按钮时,查找按钮内的第一个链接(
button.querySelector('a[href]'
)并标记为已访问
代码重构:
- 创建了
markLinkAsVisited()
通用函数处理链接标记逻辑
- 创建了
handleLinkInteraction()
函数处理链接点击的通用逻辑
- 使用
closest('a')
方法更可靠地查找链接元素
主要优化和更新内容:
新增清除已访问链接记录的功能:添加了一个新的菜单命令,允许用户清除所有已访问链接的记录。点击后,所有已访问链接的样式将被移除,并且本地存储中的记录也会被清除。
代码结构优化:将部分功能模块化,提高了代码的可读性和可维护性。使用 closest('a')
来确保点击事件只处理 <a>
标签。
性能优化:使用 MutationObserver
监听 DOM 变化,确保新加载的链接也能正确应用样式。使用 Set
数据结构存储已访问链接,提高了查找和存储的效率。
用户体验改进:在清除记录时增加了确认提示,避免误操作。