如何获得这个:"If mobile don't run this javascript (purechat ) on shopify"?



我一直在寻找答案,并尝试了许多选择,但没有任何效果。

所以,我正在尝试在移动设备上禁用纯聊天。

纯聊天代码:

<script type='text/javascript' 
     data-cfasync='false'>
    window.purechatApi = {
      l: [],
      t: [],
      on: function() {
        this.l.push(arguments);
      }
    };
    (function() {
      var done = false;
      var script = document.createElement('script');
      script.async = true;
      script.type = 'text/javascript';
      script.src = 'https://app.purechat.com/VisitorWidget/WidgetScript';
      document.getElementsByTagName('HEAD').item(0).appendChild(script);
      script.onreadystatechange = script.onload = function(e) {
        if (!done && (!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete')) {
          var w = new PCWidget({
            c: 'b935f3c9-9b39-4746-8080-c4b0ac74963d',
            f: true
          });
          done = true;
        }
      };
    })();
</script>

你知道怎么解决吗?

检测页面是否在移动设备上运行是一件棘手的事情。您可以在此处的相关问题中阅读有关它的更多信息

如果您选择最赞成的解决方案,您可以通过以下方式实现您想要的:

if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) === false) {
    // not mobile device, 
    // initialise pure chat here
}

免责声明:此解决方案取决于用户代理字符串,这不是最可靠的,因为它可以由用户轻松更改。但在这种特殊情况下,这是一个足够合理的解决方案。

只需在 theme.liquid 或 styles.scss.liquid 中添加以下行

@media (max-width: 799px){.purechat{display:none !important;}}

根据需要调整max-width。这将加载脚本,但会将其隐藏在任何宽度小于 800px 的屏幕上。

最新更新