Javascript 当我使用Addthis时,当我通过Ajax加载页面时,Addthis是未定义的

Javascript 当我使用Addthis时,当我通过Ajax加载页面时,Addthis是未定义的,javascript,social,addthis,Javascript,Social,Addthis,我尝试在调用ajax时显示“addthis共享”按钮。在ajax的第一次调用中,按钮不会显示,但当我重新加载整个页面时,一切都正常,按钮就在正确的位置 我搜索了很多修复程序,但没有人为我工作。 其中一个是addthis.toolbox();或者window.addthis但当我使用word addthis insde JavaScript标记时,浏览器调试器会写入错误“addthis is undefined” 请给我一个明智的建议发生了什么,我该如何解决 代码(这是从ajax调用加载的局部视图

我尝试在调用ajax时显示“addthis共享”按钮。在ajax的第一次调用中,按钮不会显示,但当我重新加载整个页面时,一切都正常,按钮就在正确的位置

我搜索了很多修复程序,但没有人为我工作。 其中一个是addthis.toolbox();或者window.addthis但当我使用word addthis insde JavaScript标记时,浏览器调试器会写入错误“addthis is undefined”

请给我一个明智的建议发生了什么,我该如何解决

代码(这是从ajax调用加载的局部视图):


addthis.toolbox();//addthis-未定义

您正在使用的addthis\u widget.js脚本的异步版本旨在用于较新的仪表板工具,因为对addthis.toolbox()的调用未定义,因为addthis尚未完全加载。如果从脚本中删除async=“async”,它应该可以工作

或者,可以通过以下方式添加async属性:


您正在使用的addthis\u widget.js脚本的异步版本旨在用于较新的仪表板工具,因为对addthis.toolbox()的调用未定义,因为addthis尚未完全加载。如果从脚本中删除async=“async”,它应该可以工作

或者,可以通过以下方式添加async属性:


我已经解决了这个问题

在我的项目中,我有3个视图级别

  • _布局
  • 看法
  • _局部视图
  • 我在partialView中添加了这个Js引用和button的Div

    但当我将Js引用移动到查看和更改Url(add-&async=1)时,它工作得很好,现在定义了“addthis”(直到这里还没有定义)

    兔子就是一个很好的例子:

    视图:

    
    //一些代码
    
    _部分观点:

    //Some Code 
    <div class="addthis_sharing_toolbox"></div>
    
    <script>
        $(function() {
            addthis.init(); 
            addthis.layers.refresh(); 
          });
    </script>
    
    //一些代码
    $(函数(){
    addthis.init();
    addthis.layers.refresh();
    });
    

    祝你好运,当你通过Ajax加载页面时,每个人都可以使用这个完美的插件“addthis”。

    我已经解决了这个问题

    在我的项目中,我有3个视图级别

  • _布局
  • 看法
  • _局部视图
  • 我在partialView中添加了这个Js引用和button的Div

    但当我将Js引用移动到查看和更改Url(add-&async=1)时,它工作得很好,现在定义了“addthis”(直到这里还没有定义)

    兔子就是一个很好的例子:

    视图:

    
    //一些代码
    
    _部分观点:

    //Some Code 
    <div class="addthis_sharing_toolbox"></div>
    
    <script>
        $(function() {
            addthis.init(); 
            addthis.layers.refresh(); 
          });
    </script>
    
    //一些代码
    $(函数(){
    addthis.init();
    addthis.layers.refresh();
    });
    

    祝您好运,当您通过Ajax加载页面时,每个人都可以使用这个完美的插件“addthis”。

    您需要向我们展示一些工作示例代码,向我们展示您正在做的事情。当没有代码时,文本描述是没有帮助的。我已经添加了代码示例。然后,您需要向我们展示一些工作示例代码,您需要向我们展示您正在做什么。当没有代码时,文本描述是没有帮助的。我已经添加了代码示例。ThanxI认为你的答案看起来很符合逻辑,但它不起作用,错误是一样的。我尝试了你的两种方法来解决这个问题,但是没有办法。如果您没有任何建议,我将继续制作一些测试场景来修复它。很抱歉,我错过了您正在使用的addthis\u Shareing\u工具箱div,它实际上来自仪表板。为了动态加载此脚本,请保持原始脚本不变(忽略我最后的建议),然后调用addthis.layers.refresh()。Matt我无法调用addthis.layers.refresh(),因为每次都未定义“addthis”。你有什么建议我怎么用这个词吗?我想它需要一些参考或类似的东西。马特,我添加了屏幕,请看。我认为你的答案看起来很符合逻辑,但它不起作用,错误是一样的。我尝试了你的两种方法来解决这个问题,但是没有办法。如果您没有任何建议,我将继续制作一些测试场景来修复它。很抱歉,我错过了您正在使用的addthis\u Shareing\u工具箱div,它实际上来自仪表板。为了动态加载此脚本,请保持原始脚本不变(忽略我最后的建议),然后调用addthis.layers.refresh()。Matt我无法调用addthis.layers.refresh(),因为每次都未定义“addthis”。你有什么建议我怎么用这个词吗?我想它需要一些参考或类似的东西。马特我加了屏幕,请看。
    //Some Code 
    <div class="addthis_sharing_toolbox"></div>
    
    <script>
        $(function() {
            addthis.init(); 
            addthis.layers.refresh(); 
          });
    </script>