分享这不适用于通过AJAX调用的内容

时间:2012-06-08 13:40:01

标签: jquery ajax colorbox sharethis

我有一个页面,它使用AJAX请求和JQuery动态提取内容。内容加载后,我在完整功能上使用colorbox来加载所需的任何脚本。我试图加载的一件事是ShareThis按钮,我的标记是这样的:

HTML

<span class="st_sharethis_custom"></span>

在colorbox的onComplete函数中,我有这个。

  $.getScript("http://w.sharethis.com/button/buttons.js", function() {});
  var switchTo5x=false;
  stLight.options({publisher: "ur-a4a2b4d1-36da-c1a3-4eee-8eedd1e95feb"});

当我运行灯箱并将鼠标悬停在ShareThis按钮上时,我收到以下错误。

stButtons.messageQueueInstance为空

对此的任何帮助将不胜感激。

由于

2 个答案:

答案 0 :(得分:4)

你可能已经两次调用了button.js.一个在主页面,另一个在ajax页面中。您可以尝试拨打stButtons.locateElements()

答案 1 :(得分:2)

getScript加载脚本异步。因此,在脚本加载之前调用代码stLight.option()。尝试将代码更改为:

$.getScript("http://w.sharethis.com/button/buttons.js", function() {
    var switchTo5x = false;
    stLight.options({publisher: "ur-a4a2b4d1-36da-c1a3-4eee-8eedd1e95feb"});
});

这告诉jQuery在完成initialisation(stLight.options())调用后getScript()为您提供服务。