st_twitter_hcount和st_fblike_hcount的正确共享类型(通过JS的动态规范)

时间:2013-03-06 19:05:59

标签: javascript social sharethis

以下是我的测试页:http://ignitepixels.com/test/shareThisTest.html

我遇到了使用Javascript动态生成ShareThis按钮的问题。对于我的大多数按钮,我想使用“小鸡”类型。但我也希望将hcount按钮和Twitter分享hcount和facebook一样。

通常(没有javascript)你会使用类似的东西:

<span class='st_twitter'></span>
<span class='st_facebook'></span>
<span class='st_linkedin'></span>
<span class='st_googleplus'></span>
<span class='st_email'></span>
<span class='st_reddit'></span>
<span class='st_twitter_hcount'></span>
<span class='st_fblike_hcount'></span>

但我试图使用以下方法动态生成这些按钮:

stWidget.addEntry({
"service" : shareService,
"element" : document.getElementById(shareElemendID),
"url" : shareURL,
"title" : shareTitle,
"type" : shareType,
"onhover" : false
});

(注意:我的shareType var是用javascript动态生成的。你可以通过查看测试页的源来看到javascript。)

我可以使用"chicklet"作为"type"的硬值,但这不会正确呈现hcount按钮。所以我有一些js决定是否使用“chicklet”或“hcount”,但即使是hcount也有可笑的结果。 (请参阅标题“动态ShareThis按钮”下的http://ignitepixels.com/test/shareThisTest.html)。

任何人都知道我应该在我的javascript中使用的hcount按钮使用哪种类型?

谢谢!

1 个答案:

答案 0 :(得分:0)

对于未来的用户,以下是我从ShareThis支持代理(http://support.sharethis.com/customer/portal/questions/862200-proper-share-type-for-st-twitter-hcount-and-st-fblike-hcount-dynamic-specification-through-js-#sthash.F82qZiuZ.dpbs)收到的答案:

您收到格式错误的按钮,因为您使用的是不正确的“服务”名称。您不能使用这些服务名称 - “st_twitter_hcount”

请使用服务名称 - “twitter”,“facebook”,然后您可以将“type”中的按钮类型指定为“hcount”或“vcount”。

以下是如何使用您已实现的代码实现此目的的示例。

shareServices : ['twitter', 'facebook', 'linkedin', 'googleplus', 'email', 'reddit', 'st_twitter', 'st_fblike','st_wordpress','st_linkedin']

shareType = ( shareService.match(/^st_/) ) ? 'hcount' : 'chicklet' ;
if( shareService.match(/^st_/) )
{
    shareService=shareService.substring(3);
};