addthis.com通过ajax加载按钮(以便能够动态设置电子邮件变量)

时间:2012-04-18 02:26:50

标签: javascript ajax object

我正在尝试通过ajax加载和初始化addthis.com小部件,以便能够根据用户输入动态重置addthis_share对象中的电子邮件变量。

到目前为止,我成功通过ajax加载小部件,但是当我通过ajax加载它时,我最需要的按钮不再是小部件的一部分。这是非常奇怪的,因为我使用完全相同的脚本来加载两个小部件。

我需要的按钮是“电子邮件”按钮。小部件本身有两个电子邮件按钮:一个称为“电子邮件”,另一个称为“电子邮件应用程序”。 'Email'是接受传递给电子邮件的变量的那个(以及当我通过ajax加载它时没有显示的变量)。您可以在加载后验证哪些电子邮件按钮是小部件的一部分:单击小部件(在+按钮本身上)并在搜索输入字段中键入“email”。

我已经设置了两个js小提琴来说明这种情况。第一个以标准方式加载小部件(您可以在那里看到两个电子邮件按钮)。第二个通过jQuery getScript加载小部件,你可以看到只有“电子邮件应用程序”按钮显示在其中。

1)常规: http://jsfiddle.net/FLAf4/

2)ajax: http://jsfiddle.net/6QUWt/5/

我知道这是addthis.com的具体问题 - 我尝试将这个问题发布在定制/ q&他们网站的一部分上,到目前为止还没有人评论过它。谢谢!

1 个答案:

答案 0 :(得分:0)

显然你不能在addthis脚本上设置pub-id和async,所以你应该设置#async=1然后设置一个包含发布者ID的全局变量addthis_config,你也应该{{1}在全局范围内的变量,然后将电子邮件模板和电子邮件模板变量分配给按钮单击处理程序内的全局变量。

http://jsfiddle.net/joeflateau/Bht2b/4/