# salonchi **Repository Path**: izqutcom/salonchi ## Basic Information - **Project Name**: salonchi - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-06 - **Last Updated**: 2026-10-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Salonchi RTL Button Chrome 扩展:为微信公众号文章编辑器补充维吾尔语 RTL(从右到左)排版按钮。 ## 功能 - 添加 `⇄ RTL` 按钮:将维文段落设为从右到左、右对齐。 - 添加 `⇆ LTR` 按钮:恢复维文段落从左到右、左对齐。 - 有文字选区时,只处理选区所在段落。 - 没有文字选区时,处理正文中的全部维文段落。 - 支持混合维文、中文、英文和数字的段落。 ## 为什么需要写回编辑器 微信公众号新版编辑器使用内部文档模型。只修改页面 DOM 的 `dir` 或 `direction`,保存时可能被模型重新序列化并丢失。 本扩展会把目标内容重新写回编辑器: 1. 克隆正文 DOM。 2. 给目标段落写入 `dir="rtl"`、`align="right"` 和内联 RTL 样式。 3. 添加 RLM(`U+200F`)文本标记,减少保存后的方向丢失。 4. 通过合成 `paste` 事件,让样式进入编辑器文档模型。 5. 自动粘贴被浏览器拒绝时,将 HTML 放进剪贴板,提示手动粘贴。 ## 安装 1. 下载或克隆本仓库。 2. 打开 Chrome:`chrome://extensions`。 3. 开启右上角 **开发者模式**。 4. 点击 **加载已解压的扩展程序**,选择本仓库目录。 5. 打开 `https://mp.weixin.qq.com/` 的文章编辑页。 6. 刷新页面;工具栏中会出现 RTL / LTR 按钮。 代码更新后,在扩展管理页点击扩展卡片上的 **↻ 重新加载**,再刷新文章编辑页。 ## 使用 1. 在公众号编辑器中选中需要处理的文字;不选文字则处理全部维文段落。 2. 点击 `⇄ RTL` 或 `⇆ LTR`。 3. 等待提示完成。 4. 保存草稿后,用手机预览确认方向和对齐效果。 5. 如果浏览器阻止自动粘贴,按提示执行 `Cmd+A` → `Cmd+V`(Windows/Linux 使用 `Ctrl+A` → `Ctrl+V`)。 重复点击同一按钮不会自动反转方向。需要恢复方向时,点击另一个按钮。 ## 项目结构 ```text . ├── manifest.json # Chrome Manifest V3 配置 ├── rtl-button.js # 编辑器发现、选区处理、方向写回 ├── rtl-button.css # 按钮和提示样式 └── backup-complex/ # 早期复杂版本备份 ``` ## 兼容范围 - Chrome Manifest V3。 - 目标页面:`https://mp.weixin.qq.com/*`。 - 依赖微信公众号编辑器当前 DOM 和文档模型行为。 - 公众号编辑器改版后,自动识别可能失效。 ## 版本 当前版本:`2.1.0` 主要修复: - 从直接修改 DOM 改为写回编辑器文档模型。 - RTL / LTR 按钮独立处理,避免重复点击造成方向反转。 - 根据选区决定处理范围。 - 对齐操作支持原生工具栏、弹层、粘贴等降级路径,并进行结果验证。 - 增加异常捕获和防卡死。 ## 隐私 扩展只在微信公众号页面运行,不请求远程接口,不上传文章内容。