【问题标题】:zopim callback is never called从未调用 zopim 回调
【发布时间】:2019-02-09 10:20:47
【问题描述】:

按照this documentation的指示,我得到以下代码:

window.zEmbed || (function (d, s) {
          var z = $zopim = function (c) { z._.push(c) },
              $ = z.s =
          d.createElement(s), e = d.getElementsByTagName(s)[0]; z.set = function (o) {
              z.set.
              _.push(o)
          }; z._ = []; z.set._ = []; $.async = !0; $.setAttribute("charset", "utf-8");
          $.onload = (event) => {
              console.log("chat script has loaded");
          };
          $.src = "//v2.zopim.com/?@zopimClientID"; z.t = +new Date; $.
              type = "text/javascript"; e.parentNode.insertBefore($, e);   
      })(document, "script");

      var onChatStart = function () {
          $zopim.livechat.window.show();
          window['onChatStart'] && window['onChatStart']();
      };

      $zopim(function () {
          $zopim.livechat.clearAll();
          (......)
      });

问题是 $zopim(funtion() {..}) 回调函数从未被调用,但脚本已成功加载。我知道基于由以下人员制作的 console.log:

$.onload = (event) => {
     console.log("chat script has loaded");
};

有人知道为什么会这样吗? 谢谢

【问题讨论】:

    标签: javascript jquery livechat zopim


    【解决方案1】:

    问题是您在完全加载之前运行$zopim 脚本。一旦 $zopim 对象的所有部分都加载完毕,它将停止循环并运行您的脚本。

    var zopimConfig = function() {
        $zopim(function() {
            $zopim.livechat.clearAll();
            (......)
        });
    };
    
    var waitForZopim = setInterval(function () {
        if (
            window.$zopim === undefined ||
            window.$zopim.livechat === undefined ||
            window.$zopim.livechat.departments === undefined
        ) {
            return;
        }
        zopimConfig();
        clearInterval(waitForZopim);
    }, 100);
    

    等待window.$zopim.livechat.departments 是可选的,但是如果您在部门周围做任何事情,我建议您保留它

    【讨论】:

      猜你喜欢
      • 2017-08-26
      • 2019-04-27
      • 1970-01-01
      • 1970-01-01
      • 2017-09-09
      • 2017-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多