Twitter分享按钮Tweet意图检索data-url数据

3

我在页面上有多个Twitter分享按钮,我想通过使用data-url属性标识使用哪个按钮进行推文,以便记录推文计数。我正在使用Twitter Intents。如何获取推文所指的页面URL?这必须是一个常见要求。

<a href="https://twitter.com/share" class="twitter-share-button" data-url="http://www.example.com" data-lang="ja" data-counturl="http://www.example.com">ツイート</a>

twttr.ready(function (twttr) {
            twttr.events.bind('tweet', function (event) {
                alert(event.target);

            });
        });
1个回答

2
我通过以下方式解决了这个问题,事件目标是一个iframe,因此我使用正则表达式从src标签中解析出URL。
twttr.ready(function (twttr) {
    twttr.events.bind('tweet', function (event) {
        var url = unescape(event.target.src.match("url=(.*?)(&|$)")[1]);
        UpdateCounts("Tweet", url);

    });
});

找了好久才找到,不知道为什么他们让查找URL变得如此困难,谢谢! - Dan
你的正则表达式假设url参数在其后有其他参数。然而,这并不总是正确的。表达式url=((?:.)&|(?:.$))即使在查询字符串中url参数是最后一个也能工作。 - kevintechie
@tsukimi 提醒一下,你的答案现在缺少正则表达式中的"url="部分。你也可以将正则表达式缩短为:url=(.*?)(&|$)。 - maltem-za

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接