在运行时使用不同的URL添加两个addthis按钮

时间:2015-09-09 08:08:34

标签: jquery addthis

我在我的应用程序中添加了两个addthis div我希望它们都有不同的URL。我想在jquery中设置运行时的URL我该怎么办?我将使用两个div来共享两个不同的链接,我正在尝试使用以下代码:

DECREF

我的第二个div我想用于另一个链接,

<div id="div1" class="addthis_toolbox addthis_default_style addthis_32x32_style"  >
    <a class="addthis_button_gmail addthis1"  addthis:title="My title" ></a>
    <a class="addthis_button_email addthis1" addthis:title="My title" ></a>
    <a class="addthis_button_delicious addthis1" addthis:title="My title" ></a>
    <a class="addthis_button_yahoomail addthis1"  addthis:title="My title" ></a>                                      
    <a class="addthis_button_favorites addthis1"  addthis:title="My title" ></a>
    <a class="addthis_button_compact addthis1"  addthis:title="My title" ></a>                                    
</div> 

实际上这两个链接是在运行时在jQuery,link1和link2中生成的,我正在尝试以下代码:

<div id="div2" class="addthis_toolbox addthis_default_style addthis_32x32_style" style="display: none;" >
    <a id="shareChartfb" class="addthis_button_facebook addthis2" addthis:title="My title"></a>
    <a class="addthis_button_twitter addthis2" addthis:title="My title" ></a>
    <a class="addthis_button_google_plusone_share addthis2" addthis:title="My title" g:plusone:count="false"></a>                             
    <a class="addthis_button_pinterest_share addthis2" addthis:title="My title" ></a>
    <a class="addthis_button_tumblr addthis2" addthis:title="My title" ></a>
    <a class="addthis_button_compact addthis2"  addthis:title="My title" ></a>                                    
</div>   

对于link2,我使用相同的代码:

var link1= //generated on runtime
var link2= //generated on runtime
addthis.update('share', 'url', link1);
                addthis.url = link1;
                addthis.toolbox(".addthis_toolbox");

所以它将div1和div2都设置为link2,我想知道将div1设置为link1而将div2设置为link2的某种方法或其他方法。

1 个答案:

答案 0 :(得分:0)

选项1:

您是否尝试将addthis:url="http://example.com/foo"添加到父div的属性中?

http://support.addthis.com/customer/en/portal/articles/125634-setting-the-url-title-to-share

如果在您的网页上addthis_widget.js加载时尚未填充该网址,则您可能会遇到选项1的问题。有时您可以通过...来解决这个问题。

选项2:

选项1然后再调用addthis.layers()

选项3:

离开该类并添加:url属性离开div,直到你有两个url,然后添加属性并调用addthis.layers()

您可能希望将addthis.layers()电话打包成这样的内容,以确保只有在可用之后再拨打电话:

(function() {
    var at_interval = setInterval(function () {
        if(window.addthis) {
            clearInterval(at_interval);
            addthis.layers();
        }
    },1000)
}());