2012-04-18 34 views
0

我想通过ajax加载并初始化addthis.com小部件,以便能够基于动态重置addthis_share对象中的电子邮件变量在用户输入。addthis.com通过ajax加载按钮(能够动态设置电子邮件变量)

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

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

我已经设置了两个js小提琴来说明这种情况。第一个以标准方式加载小部件(并且您可以在那里看到两个电子邮件按钮)。第二个通过jQuery getScript加载小部件,你可以看到只有'Email App'按钮出现在它里面。

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

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

我知道,这是addthis.com具体的问题 - 我想张贴在定制这个问题/ Q &的一部分,其网站,至今没有人评论过它。谢谢!!

回答

0

显然,你不能设置酒吧-id和异步的前页脚本,所以你应该设置#async=1然后设置一个全局变量addthis_config包含发布者ID,你也应该有addthis_share变量在全球范围内,然后分配将电子邮件模板和电子邮件模板变量发送到按钮点击处理程序内的全局变量。

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

+0

我同意,但是这并不影响我上面列出的问题,电子邮件按钮没有显示出来。我调整了AJAX小提琴(使addthis_share对象成为全局变量),并且电子邮件按钮仍然不显示。 – svdsvd 2012-04-18 14:04:05

+0

可能是一个愚蠢的问题,但是您是否真的在AddThis.com上设置了“test_template”? – 2012-04-18 14:13:52

+0

是的,这两个变量都在模板中,当我以常规方式加载小部件时,它们会工作。我也试着在网址中加入async = 1参数。谢谢。 – svdsvd 2012-04-18 18:12:15

相关问题