首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未定义$zopim

未定义$zopim
EN

Stack Overflow用户
提问于 2017-04-13 07:53:37
回答 2查看 8.8K关注 0票数 8

阅读Zopim的文献资料 (a.k.a Zendesk聊天):

API调用必须在Live脚本之后插入并包装在$zopim(function() {. })中。

所以,我在head的一部分中有一个Zopim脚本:

代码语言:javascript
复制
<script>/*<![CDATA[*/window.zEmbed||function(e,t){ ... }("https://...);
/*]]>*/</script>

然后,我在HTML文档的末尾添加了以下内容:

代码语言:javascript
复制
$zopim(function() {
  $zopim.livechat.setName('Logged in name');
  $zopim.livechat.setEmail('user@somewhere.com');
});

控制台说:

未定义$zopim

我想我已经正确地遵循了指示。我错过了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-11 08:36:21

我找到了一个更好的解决方案(在提交了支持请求之后)

代码语言:javascript
复制
    zE(function() {
        $zopim(function() {
            $zopim.livechat.setName("{{\Auth::user()->name}}");
            $zopim.livechat.setEmail("{{\Auth::user()->email}}");
        });
    });

我在Zendesk支持下使用了Zendesk聊天代码,这就是为什么我需要添加Ze函数以使其使用api。

编辑:检查杰伊休伊特和他的对这个问题的回答中的有趣的评论

票数 14
EN

Stack Overflow用户

发布于 2017-06-27 09:11:24

这将循环,等待加载$zopim和$zopim.livechat。一旦装上子弹,就会停止循环。

代码语言:javascript
复制
var waitForZopim = setInterval(function () {
    if (window.$zopim === undefined || window.$zopim.livechat === undefined) {
        return;
    }
    $zopim(function() {
        $zopim.livechat.setName("{{\Auth::user()->name}}");
        $zopim.livechat.setEmail("{{\Auth::user()->email}}");
    });
    clearInterval(waitForZopim);
}, 100);
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43386548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档