问题
如何自定义Zendesk聊天小部件亚博JavaScript API?
回答
使用JavaScript API对本地化到一个站点或页面的Chat小部件进行更改和自定义。
如果您是初学者,首先要做的是弄清楚您是在页面上使用了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页面,看看您帐户的确切小部件片段是什么。
添加一些自定义JavaScript
使用JavaScript API时最常见的问题是事件没有按照正确的顺序执行。JavaScript通常在页面上异步运行,因此,如果没有适当的注意,可能会在小部件存在之前执行命令,例如更改小部件的颜色。出于这个原因,添加正确的“ready”函数对于实现可靠的自定义是必不可少的。
- 聊天小部件代码
在这种情况下,你的自定义代码应该看起来像这样:$zopim(function(){//自定义代码});
在添加任何自定义之前,此代码片段等待页面完成加载,然后等待Chat小部件完成加载。 - Web小部件代码
使用下面的脚本:zE(function(){$zopim(function(){//自定义代码});});
在本例中,代码等待页面加载,然后等待Web Widget加载,最后等待Web Widget加载聊天功能。在Chat加载之后,可以安全地向Chat小部件添加您想要的任何自定义。
11日评论
谢谢你的文章!我正致力于从Zopim遗留聊天小部件迁移到新的Web小部件。因此,我们目前有第一个示例中的代码片段来初始化' window '。$zopim '并使用' livechat ' api。
我看到这些“livechat”api已经根据你的文档别名了,而且大多数都不需要修改代码就可以工作。
我的一个误解是——我们应该在迁移之前把现有的代码片段换成新的“ze-snippet”代码片段吗?或者,即使在迁移之后,我们可以继续使用现有的遗留代码片段(假设我们从任何不受支持的livechat api迁移出去)吗?如果是这样,我们会简单地更新我们的定制吗?
:
提前感谢。
是否有一种方法可以防止web小部件向用户发送当前url ?还是重新写一遍?(如果url包含一些关键数据)?
请使用以下代码作为参考。你也可以参考Web Widget(经典)API: Cookies.