0

我遇到了一个问题,我正在进行 AJAX 调用以将图像加载到轮播中,并且它破坏了与每个图像(电子邮件、推特和脸书)关联的 shareThis 单击/悬停事件。

我已经通过这样做阅读了所有内容

stButtons.locateElements();

它应该解决问题,但它没有。什么都没有发生,按钮仍然不可点击/没有悬停事件。我也尝试过重新加载脚本:

var switchTo5x = true;
$.getScript('//ws.sharethis.com/button/buttons.js', function () {
   stLight.options({ "publisher": "publisher-code" }); 
});

这只会导致 button.js 抛出此错误:“未捕获的 TypeError:无法调用 null 的方法 'process'”。

关于如何重新绑定事件的任何想法?

4

1 回答 1

0

我最终找到了解决方案,尽管 button.js 仍然抛出错误。

在我运行 getScript 之前,我将 stButtons 设置为 null 并解决了我的问题。这是最终结果:

if (stButtons) {

    // Reset the share this buttons to null
    stButtons = null;
    try {
       // Reload the script from scratch
       var switchTo5x = true;
       $.getScript('//ws.sharethis.com/button/buttons.js', function () {
           stLight.options({ "publisher": "pub-id" });
       });
    }
    catch (err) { }
}

我仍然从 button.js 收到此错误:未捕获的 TypeError:无法读取 null 的属性“messageQueueInstance”。但是,它现在正在工作。下次会更多地研究这个错误。

于 2012-11-19T22:04:38.990 回答