我有一个页面,它使用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为空
对此的任何帮助将不胜感激。
由于
答案 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()
为您提供服务。