2012-04-18 36 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

相關問題