我尝试展示“添加此分享”#39;进行ajax调用时的按钮。在ajax的第一次调用中,按钮没有显示,但是当我重新加载整个页面时一切正常,按钮是正确的位置。
我搜索了很多修复但没有人适合我。 其中一个是 addthis.toolbox();或者window.addthis 但是当我使用word addthis insde JavaScript标签时,浏览器调试器会写错误' addthis is undefined'。
请给我明智的建议,我该怎么办?
代码(它是从ajax调用加载的局部视图):
<script type="text/javascript" src="http://s7.addthis.com/js/300/addthis_widget.js#pubid=ra-xxxxx" async="async"></script>
<div class="addthis_sharing_toolbox"></div>
<script>
addthis.toolbox(); // addthis - is undefined
</script>
答案 0 :(得分:4)
我已经解决了这个问题。
在我的项目中,我有3个视图级别
我在_partialView中添加了这个Js参考和按钮的Div。
但是,当我将Js引用移动到View并更改Url(添加 - &amp; async = 1)时,它工作正常,现在'addthis' - 已定义(直到此处未定义)。
野兔就是一个完整的例子:
查看:
<script type="text/javascript" src="http://s7.addthis.com/js/300/addthis_widget.js#pubid=ra-'yourPubId'&async=1"></script>
//Some Code
_partialView:
//Some Code
<div class="addthis_sharing_toolbox"></div>
<script>
$(function() {
addthis.init();
addthis.layers.refresh();
});
</script>
祝你好运,当你通过Ajax加载页面时,每个人都可以使用这个完美的插件'addthis'。
答案 1 :(得分:2)
您正在使用的addthis_widget.js脚本的异步版本旨在用于较新的仪表板工具,因为对addthis.toolbox()的调用未定义,因为AddThis还没有完全加载。如果删除async =&#34; async&#34;从脚本,它应该工作。
或者,您可以这样添加async属性:
let utf8str = "0xe04f" // your value coming from quesimage
let emojiStr = String(format: "%C", arguments: [utf8str])
print(emojiStr) // ⑰
lblEmoji!.text = emojiStr
&#13;
然后在调用addthis.toolbox()之前,请确保调用addthis.init()。
https://www.addthis.com/blog/2013/05/07/a-brief-history-of-using-addthis-dynamically/
-Matt
添加此支持