TogetherJS 实时协作工具使用指南
2025-07-07 05:04:44作者:邓越浪Henry
概述
TogetherJS 是一款基于浏览器的实时协作工具,它可以让多个用户在同一网页上进行实时互动和协作。本文将详细介绍如何集成和使用 TogetherJS,包括快速入门、技术原理、配置选项以及扩展功能。
快速入门
要在你的网站中使用 TogetherJS,只需在页面中添加以下代码:
- 引入 JavaScript 文件:
<script src="https://togetherjs.com/togetherjs-min.js"></script>
- 添加启动按钮:
<button onclick="TogetherJS(this); return false;">开始协作</button>
或者使用 jQuery:
<button id="start-togetherjs">开始协作</button>
<script>
$(function () {
$("#start-togetherjs").click(TogetherJS);
});
</script>
技术原理
TogetherJS 的核心是一个称为"hub"的服务器,它使用 WebSocket 技术在参与者之间传递消息。主要特点包括:
- 基于消息传递:所有功能都建立在浏览器之间的消息传递基础上
- DOM 操作:大多数功能直接操作 DOM 元素
- 表单同步:支持表单状态的同步和文本字段的操作转换
- 无持久化:不保存任何数据,所有持久化操作仍需通过应用本身完成
- 分辨率无关:在不同分辨率设备上都能正常工作
详细配置
TogetherJS 提供了丰富的配置选项,可以在引入脚本前通过全局变量设置:
<script>
var TogetherJSConfig_siteName = "我的网站";
var TogetherJSConfig_toolName = "协作工具";
// 其他配置...
</script>
<script src="https://togetherjs.com/togetherjs-min.js"></script>
主要配置选项
-
基本设置:
siteName
:网站名称toolName
:工具显示名称hubBase
:自定义 hub 服务器地址
-
交互控制:
dontShowClicks
:禁止显示点击效果的元素cloneClicks
:需要同步点击的元素enableShortcut
:启用快捷键(alt-T两次)启动
-
会话管理:
findRoom
:自动分配用户到房间autoStart
:自动启动会话suppressJoinConfirmation
:跳过加入确认suppressInvite
:不自动弹出邀请窗口
-
功能控制:
disableWebRTC
:禁用音频聊天youtube
:同步 YouTube 视频播放includeHashInUrl
:将 hash 视为 URL 的一部分
音频聊天功能
TogetherJS 支持基于 WebRTC 的实时音频聊天,但需要注意:
- 需要较新版本的浏览器支持
- 某些网络环境下可能无法正常工作
- 目前支持 Firefox 和 Chrome 的最新版本
扩展 TogetherJS
除了基本配置,你还可以通过事件钩子扩展 TogetherJS 的功能:
TogetherJS.on("ready", function() {
// TogetherJS 准备就绪时的回调
});
TogetherJS.on("close", function() {
// TogetherJS 关闭时的回调
});
最佳实践
- 在所有页面都引入 TogetherJS 脚本,即使没有启动按钮
- 使用
data-end-togetherjs-html
属性来自定义按钮文本 - 为按钮添加
togetherjs-started
类样式来指示会话状态 - 注意跨域限制,会话无法在不同域之间共享
通过以上介绍,你应该已经掌握了 TogetherJS 的基本使用方法和高级配置选项。这款工具可以轻松地为你的网站添加实时协作功能,提升用户体验和团队协作效率。