我希望将一些URL参数附加到要由AddThis共享的URL,我只会在用户点击共享时知道这些参数。 (我在滑块中显示了一些图像,如果用户点击共享,我想将图像编号附加到URL,以便URL将您带到用户共享的实际图像。)
我尝试使用AddThis事件API,当有用户要分享的事件时,我会收到通知。我尝试在此时更改URL,但它不会更新URL。 (似乎如果我再次分享,它确实将它改为我之前设定的那个,但这又会过时了。)
实现这一目标的最佳方法是什么?如果没有通过AddThis更好的允许这个和支持常见的社交媒体平台(Facebook,Twitter,Pinterest,电子邮件等)也没关系。
** 更新 **
只是为了澄清到目前为止我尝试过的内容:
function updateAddThisUrl()
{
//slide_no is the variable I am adding as a URL parameter
var location = window.location;
var theUrl = location.protocol + '//' + location.host + location.pathname + "?image=" + slide_no;
addthis_share = {url : theUrl};
addthis.update('share', 'url', theUrl);
addthis.url = theUrl;
addthis.ready();
}
function eventHandler(evt)
{
updateAddThisUrl();
}
addthis.addEventListener('addthis.menu.share', eventHandler);
以上只更新后续共享的URL,因此只有当用户再次单击“共享”时才会生效(此时它会再次过时,因为会有新图像,因此会有新的URL参数)。我也尝试使用addthis.menu.open
,但效果相同,所以我想在此之前使用的是URL。我还注意到,如果我从addthis弹出菜单中选择电子邮件,addthis.menu.share
事件甚至不会被触发。
答案 0 :(得分:4)
您可以通过调用函数addthis.update
:
// only have to change the window.location.href bit
addthis.update('share', 'url', window.location.href);
addthis.ready(); // This will re-render the box.