当我使用 addthis 时,Addthis 是未定义的,当我通过 Ajax 加载页面时
Addthis is Undefined when I use addthis, When I load page by Ajax
我尝试在拨打 ajax 电话时显示 'addthis sharing' 按钮。在 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>
您正在使用的 addthis_widget.js 脚本的异步版本旨在用于较新的仪表板工具,因为对 addthis.toolbox() 的调用未定义,因为 AddThis 尚未完全加载了。如果从脚本中删除 async="async" ,它应该可以工作。
或者,您可以这样添加异步属性:
<script src="http://s7.addthis.com/js/300/addthis_widget.js#pubid=ra-xxxxx&async=1" type="text/javascript">
然后在调用 addthis.toolbox() 之前,请确保调用 addthis.init()。
https://www.addthis.com/blog/2013/05/07/a-brief-history-of-using-addthis-dynamically/
-马特
添加此支持
我已经解决了这个问题。
在我的项目中,我有 3 个视图级别
- _布局
- 查看
- _partialview
我在 _partialView 中添加了这个 Js 引用和按钮的 Div。
但是当我将 Js 引用移动到 View 并更改 Url(add - &async=1) 它工作正常并且现在 'addthis' - 已定义(直到此处未定义)。
Hare 完整示例:
查看:
<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'。
我尝试在拨打 ajax 电话时显示 'addthis sharing' 按钮。在 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>
您正在使用的 addthis_widget.js 脚本的异步版本旨在用于较新的仪表板工具,因为对 addthis.toolbox() 的调用未定义,因为 AddThis 尚未完全加载了。如果从脚本中删除 async="async" ,它应该可以工作。
或者,您可以这样添加异步属性:
<script src="http://s7.addthis.com/js/300/addthis_widget.js#pubid=ra-xxxxx&async=1" type="text/javascript">
然后在调用 addthis.toolbox() 之前,请确保调用 addthis.init()。
https://www.addthis.com/blog/2013/05/07/a-brief-history-of-using-addthis-dynamically/
-马特
添加此支持
我已经解决了这个问题。
在我的项目中,我有 3 个视图级别
- _布局
- 查看
- _partialview
我在 _partialView 中添加了这个 Js 引用和按钮的 Div。
但是当我将 Js 引用移动到 View 并更改 Url(add - &async=1) 它工作正常并且现在 'addthis' - 已定义(直到此处未定义)。
Hare 完整示例:
查看:
<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'。