我正在使用AddThis Wordpress插件在AJAX主题中的每个帖子下面包含共享按钮,并且无法正确获取代码。
我在设置页面的自定义按钮字段中插入了以下代码:
<div class="addthis_toolbox addthis_default_style" id="toolbox">
<a class="addthis_button_preferred_1"></a>
<a class="addthis_button_preferred_2"></a>
<a class="addthis_button_preferred_3"></a>
<a class="addthis_button_preferred_4"></a>
<a class="addthis_button_compact"></a>
</div>
然后在主页PHP文件的post循环中我有这个:
<script>
var tbx = document.getElementById("toolbox"),
svcs = {email: 'Email', print: 'Print', facebook: 'Facebook', expanded: 'More'};
for (var s in svcs) {
tbx.innerHTML += '<a class="addthis_button_'+s+'">'+svcs[s]+'</a>';
});
function ReinitializeAddThis() {
if (window.addthis) {
window.addthis.toolbox("#toolbox");
}
}
</script>
<iframe style="display: none;" onload="ReinitializeAddThis();"></iframe>
按钮只会偶尔加载,刷新后会消失。我也收到了错误 Uncaught ReferenceError:ReinitializeAddThis is not defined 这令人困惑......我真的很感激任何见解,如果有什么不清楚我会道歉。谢谢!
答案 0 :(得分:0)
我已经找到了解决方案,所以我会在这里发布,以防任何人遇到同样的问题。
在AddThis设置页面上,我将此代码粘贴到“自定义按钮”字段中:
<div class="addthis_toolbox addthis_default_style" id="toolbox">
<a class="addthis_button_preferred_1"></a>
<a class="addthis_button_preferred_2"></a>
<a class="addthis_button_preferred_3"></a>
<a class="addthis_button_preferred_4"></a>
<a class="addthis_button_compact"></a>
</div>
然后在主页面PHP文件中的post循环中:
<script type="text/javascript">
$(document).ajaxComplete(function(){
console.log("All AJAX requests completed");
if (window.addthis) {
window.addthis.toolbox(".addthis_toolbox addthis_default_style");
console.log("AddThis rendered")
};
});
var tbx = document.getElementById("toolbox"),
svcs = {email: 'Email', print: 'Print', facebook: 'Facebook', expanded: 'More'};
for (var s in svcs) {
tbx.innerHTML += '<a class="addthis_button_'+s+'">'+svcs[s]+'</a>';
};
</script>
这会为每个帖子调用window.addthis.toolbox()
函数,并在AJAX按指定on this page呈现后创建共享工具箱。