️ 小尾巴保护 (oulin_tail)
为 XIUNOX BBS 提供复制保护功能。当用户在帖子详情页复制文本时,自动在剪贴板末尾追加帖子标题、链接和时间信息,并弹出确认提示。
功能介绍
复制追加
用户在帖子详情页复制文本时,自动在剪贴板末尾追加:
站点名称 — 论坛名称
帖子标题 — 当前帖子主题
完整链接 — 含域名的绝对 URL
当前时间 — 精确到秒
弹窗确认
复制成功后页面顶部弹出 Bootstrap 5 Toast 提示,告知用户已追加信息。弹窗可独立开启/关闭。
模板自定义
支持 4 个变量自由组合:
变量 | 说明 | 示例 |
|---|---|---|
| 站点名称 | 我的论坛 |
| 帖子标题 | 欢迎使用 XIUNOX |
| 完整链接(含域名) | |
| 当前时间 | 2025-01-15 14:30:25 |
发帖页自动禁用
发帖页(发新帖/回复编辑)自动跳过尾巴追加,方便用户复制素材编辑帖子,不影响帖子详情页功能。
代码框复制支持
拦截代码框"复制代码"按钮的 clipboard.writeText API,确保代码复制也能追加尾巴信息。
安装方法
方式一:后台安装
将
oulin_tail目录上传到plugin/下后台 → 插件管理 → 找到「小尾巴保护」→ 点击「安装」
安装完成后点击「启用」
方式二:手动安装
将
oulin_tail目录上传到plugin/下后台 → 插件管理 → 点击「扫描插件」
找到「小尾巴保护」→ 点击「安装」→「启用」
使用配置
基本设置
后台 → 插件管理 → 找到「小尾巴保护」→ 点击「设置」
勾选「启用小尾巴保护」
点击保存
自定义模板
在设置页的「追加内容模板」文本框中,使用变量组合你想要的格式:
示例 1(默认):
复制自:{site_name} {title}
链接:{url}
时间:{time}
示例 2(简洁版):
—— 转自{site_name}《{title}》
{url}
示例 3(版权声明):
以上内容来源于{site_name}
原文:{title}
链接:{url}
复制时间:{time}
转载请注明出处
弹窗设置
弹窗提示:开启/关闭复制成功后的 Toast 弹窗
弹窗提示文案:自定义弹窗显示的文字
使用示例
前台效果
用户在帖子详情页选中并复制一段文字后,剪贴板内容:
XIUNOX BBS 是一款现代化的社区论坛系统...
复制自:我的论坛 XIUNOX BBS 欢迎使用
链接:https://bbs.example.com/thread-123
时间:2025-01-15 14:30:25
同时页面顶部弹出 Toast 提示:
已为您追加帖子信息并复制
不同页面行为
页面类型 | 复制行为 |
|---|---|
帖子详情页 | 追加尾巴 + 弹窗提示 |
发帖页(发新帖) | 不追加 |
发帖页(回复) | 不追加 |
代码框复制 | 追加尾巴 + 弹窗提示 |
卸载
后台 → 插件管理 → 找到「小尾巴保护」
点击「卸载」→ 确认
卸载后所有配置自动清除
常见问题
Q: 为什么发帖页不追加?
A: 这是正常设计。发帖时用户需要复制素材编辑帖子,如果追加尾巴会影响内容编辑。帖子详情页正常追加。
Q: 如何修改追加的链接为完整 URL?
A: v1.0.2 起已自动使用完整绝对 URL(含域名),无需额外配置。
Q: 弹窗提示可以关闭吗?
A: 可以。在插件设置页取消勾选「弹窗提示」即可,关闭后复制仍追加尾巴但不弹窗。
Q: 代码框复制为什么不追加?
A: v1.0.3 起已修复。代码框的"复制代码"按钮使用 clipboard.writeText API,插件已拦截该 API 实现追加。
Q: 支持移动端吗?
A: 支持。纯原生 JavaScript 实现,兼容移动端浏览器。
文件结构
plugin/oulin_tail/
├── conf.json # 插件元数据、hooks_rank
├── icon.png # 插件图标(64x64)
├── install.php # 默认配置写入
├── uninstall.php # 配置清理
├── setting.php # 后台设置控制器
├── readme.md # 使用说明
├── model/
│ └── TailService.php # 业务逻辑类
├── hook/
│ ├── model_inc_file.php # 注册 Service 类加载路径
│ ├── footer_js_after.htm # 帖子页底部注入 JS
│ └── lang_zh_cn_bbs.php # 翻译键定义
├── view/htm/
│ └── setting.htm # 后台设置页面
└── static/
└── js/tail.js # 前端脚本(copy 事件监听 + Toast 提示)
技术实现
原生 JavaScript 监听
copy事件,零 jQuery 依赖通过
clipboardData.setData('text/plain', ...)拦截并修改剪贴板内容拦截
navigator.clipboard.writeTextAPI,支持代码框复制场景通过
hook/footer_js_after.htm仅在帖子详情页注入脚本URL 检测自动识别发帖页,跳过尾巴追加
后台未启用时不加载任何前端资源,零性能损耗
遵循 Xiuno X 插件开发规范(CSRF 防护、权限检查、输出转义)
许可证
GPL v2
版本:v1.0.5
适用版本:XIUNOX BBS 1.0+
作者:oulin


