我希望在用户单击分享时,向AddThis共享的URL添加一些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
事件。