2

所以一直在寻找一个有windows应用程序的好聊天程序。发现Tawk我是一个非常大的应用程序,所以我只想在有人真的想和我聊天时才加载它。

问题是一旦你点击我的聊天按钮,聊天框就处于最小化状态。我希望小部件在加载后最大化。他们有一个api可以最大化。

Tawk_API.onLoad = function(){
    Tawk_API.maximize();
};

不幸的是,这仅在程序完全加载时才有效。

我尝试了一个查找类的计时器函数,但它们在每次加载时都会更改类名class="KSKLwOL-1492537819846"

希望可能有另一种方法来知道程序何时加载然后最大化。

$('.chat').on('click', function (e) {
    $('.chat').hide();
    var Tawk_API = Tawk_API || {},
        Tawk_LoadStart = new Date();
    (function () {
        var s1 = document.createElement("script"),
            s0 = document.getElementsByTagName("script")[0];
        s1.async = true;
        s1.src = 'https://embed.tawk.to/58f11df330ab263079b5fde1/default';
        s1.charset = 'UTF-8';
        s1.setAttribute('crossorigin', '*');
        s0.parentNode.insertBefore(s1, s0);
        document.body.appendChild(s0);
    })();
}); 

如果您想了解我的意思,聊天程序已加载到我的网站上。

谢谢,任何人。

4

2 回答 2

3

hide一种方法是使用默认加载 API 和小部件

Tawk_API.onLoad = function(){
  Tawk_API.hideWidget();
};

并在您的按钮上单击

$('.chat').on('click', function (e) {
$('.chat').hide();
Tawk_API.showWidget();

更新:

您当前正在单击加载Tawkapi 。chat button我建议您按照Tawk建议将其加载到您的页面上。将您的脚本放在</body>标签之前。

这将为您省去计时器或等待 API 加载的麻烦。结果,当您DOM准备好(完全加载)时,您将拥有Tawkapi 对象

HTML

<body>
    <! -- move your code given by Tawk here -->
</body>

Javascript

$(document).ready(function(){
    if (Tawk_API) {
     Tawk_API.onLoad = function() {
       Tawk_API.hideWidget();
     };
     $('.chat-button').on('click', function(){
       $('.chat-button').hide();
       Tawk_API.showWidget();
       Tawk_API.maximize();
     });
    }
 });

不过,如果这无法理解,这里是我想说的代码笔演示。检查此链接

于 2017-04-18T18:29:16.000 回答
0

这将确保小部件在加载时最小化,注意 setTimeout 对于实现这一点很重要。坚持使用 API 总是好的。

<script type="text/javascript">
  var Tawk_API = Tawk_API || {};
  var s1 = document.createElement("script"),
    s0 = document.getElementsByTagName("script")[0];
    s1.async = true;
    s1.src = 'https://embed.tawk.to/5b161b708859f57bdc7bd84d/default';
    s1.charset = 'UTF-8';
    s1.setAttribute('crossorigin', '*');
    s0.parentNode.insertBefore(s1, s0);

//here's all you need
Tawk_API.onLoad = function() {
setTimeout(function() {
      Tawk_API.minimize();
    }, 1);
};
</script>
于 2021-06-09T23:48:31.643 回答