问题
如何自定义Zendesk聊天小部件使用亚博JavaScript API?
回答
使用JavaScript API对本地化到一个站点或页面的Chat小部件进行更改和自定义。
如果您是初学者,首先要做的是弄清楚您在页面上使用的是聊天代码片段还是Web Widget代码片段。这两个都提供聊天功能,对网站访问者来说看起来是一样的。
了解不同的代码片段
- 聊天代码片段如下所示:
< !——Zendesk聊天亚博脚本启动>
<脚本type = " text / javascript”>
窗口。美元zopim | |(函数(d s) {var z = $ zopim =函数(c) {z._.push (c)}, = z =美元
d.createElement (s), e = d.getElementsByTagName (s) [0]; (o) {z.set z.set =函数。
_.push (o)}; z._ = []; z.set._ = []; $ .async = ! 0; .setAttribute美元(“字符集”、“utf - 8”);
美元.src = " https://v2.zopim.com/?ACCOUNT_KEY "; z.t = +新日期;美元。
type = " text / javascript”;e.parentNode.insertBefore ($, e)})(文档,“脚本”);
> < /脚本
< !——Zendesk亚博聊天脚本结束——>
的ACCOUNT_KEY
是您帐户的唯一标识符。如果您从仅使用聊天帐户开始,则这是您拥有的代码片段。
- Web Widget代码片段如下所示:
<脚本id = " ze-snippet "
脚本src = " https://static.zdassets.com/ekr/snippet.js?key=ACCOUNT_KEY " > < / >
的ACCOUNT_KEY
是唯一标识符,但这与聊天帐户密钥的格式不同。如果您是从支持帐户内启动聊天帐户,则这适用于您。
唯一确定的方法是打开你的帐户,检查Widget页面,看看你的帐户的Widget片段是什么。
添加一些自定义JavaScript
使用我们的JavaScript API最常见的问题是事件没有按照正确的顺序执行。JavaScript通常在页面上异步运行,因此如果没有适当的注意,可能会在小部件存在之前执行更改小部件颜色的命令。出于这个原因,添加正确的“就绪”函数对于可靠的定制是必要的。
- 聊天小部件代码
在这种情况下,你的自定义代码应该是这样的:$zopim(function(){//自定义代码});
这个代码片段等待页面完成加载,然后等待Chat小部件完成加载,然后再添加任何自定义。 - Web小部件代码
使用下面的脚本:zE(function(){$zopim(function(){//这里的自定义代码});});
在本例中,代码等待页面加载,然后等待Web Widget加载,最后等待Web Widget加载Chat功能。在Chat加载后,可以安全地向Chat小部件添加任何自定义。
10评论
谢谢你的文章!我正在从Zopim遗留聊天小部件迁移到新的Web小部件。所以我们现在有你的第一个例子的代码片段来初始化窗口。$zopim '和使用' livechat ' api。
我看到这些“生活聊天”api已经根据你的文档有了别名,大多数应该不需要修改代码就能工作。
我的一个误解是——在迁移之前,我们是否应该将现有的代码片段换成新的“-snippet”代码片段?或者我们可以继续使用现有的遗留代码片段(假设我们从任何不受支持的livechat api迁移),即使在迁移之后?如果是这样,我们是否可以简单地更新我们的自定义:
:
提前谢谢你。
有没有办法阻止web小部件向用户发送当前url ?还是重写?(以防url包含一些关键数据)?
请使用下面的代码作为参考。也可以参考Web小部件(经典)API: cookie.