# BlurText 更新日志 ## v2.0.0 (2025-01-10) - 文本选择模式 ### 🎉 新功能 #### **双模式支持** 现在 BlurText 支持两种模糊模式,满足不同场景需求: 1. **🖱️ 元素模式**(原有功能) - 鼠标悬停查看高亮 - 点击元素进行模糊 - 适用于结构化内容(表格、卡片等) 2. **📝 文本选择模式**(新增功能)⭐ - 拖动鼠标选择任意文本 - 点击浮动按钮模糊选中内容 - **完美解决纯文本节点的模糊问题** - 适用于文章、段落等纯文本内容 --- ### 🔧 技术实现 #### **文本选择模式核心特性** 使用标准 Selection API 实现: ```javascript // 1. 监听文本选择 document.addEventListener('mouseup', handleTextSelection); // 2. 获取选中文本 const selection = window.getSelection(); const range = selection.getRangeAt(0); // 3. 包裹并模糊 const span = document.createElement('span'); range.surroundContents(span); span.classList.add('blurtext-blurred'); ``` #### **智能浮动按钮** - 自动定位在选中文本下方 - 渐入动画效果 - 点击后自动隐藏 #### **错误处理** - 捕获复杂 HTML 结构的异常 - 提供友好的错误提示 - 不会破坏页面功能 --- ### 🎨 UI 改进 #### **Popup 界面升级** - 新增模式切换按钮(图形化设计) - 动态使用提示(根据模式显示不同说明) - 更清晰的视觉反馈 #### **模式图标** - 🖱️ 元素模式 - 代表点击操作 - 📝 文本选择模式 - 代表文本选择 #### **CSS 样式增强** - 新增模糊按钮样式(渐变背景 + 阴影) - 按钮动画效果(弹出 + 悬停缩放) - 更好的视觉层级 --- ### 📝 使用指南 #### **元素模式使用方法** ``` 1. 点击扩展图标打开 Popup 2. 选择"元素模式" 3. 点击"开启模糊模式" 4. 鼠标悬停查看高亮 5. 点击元素进行模糊 ``` #### **文本选择模式使用方法** ⭐ ``` 1. 点击扩展图标打开 Popup 2. 选择"文本选择模式" 3. 点击"开启模糊模式" 4. 拖动鼠标选择文本 5. 点击浮动按钮"🔒 模糊选中文本" 6. 可以多次选择和模糊 ``` --- ### 🆚 两种模式对比 | 特性 | 元素模式 | 文本选择模式 | |------|---------|-------------| | **操作方式** | 点击元素 | 拖动选择文本 | | **适用场景** | 结构化内容 | 纯文本内容 | | **精确度** | 按元素边界 | 按字符级别 | | **DOM 修改** | 不修改 | 添加 span 包裹 | | **预览方式** | 悬停高亮 | 浏览器原生选择 | | **典型使用** | 表格、卡片、按钮 | 段落、文章、评论 | --- ### 🎯 使用场景示例 #### **场景 1:文章中的敏感信息** ```html
用户张三的手机号是138-8888-9999,邮箱是zhang@example.com
``` **元素模式**: - 点击 → 模糊整个段落 ❌ **文本选择模式**: - 选择"138-8888-9999" → 只模糊手机号 ✅ - 选择"zhang@example.com" → 只模糊邮箱 ✅ #### **场景 2:表格数据** ```html| 姓名 | 李四 |
| 工号 | E12345 |