jquery - 单击 Twitter 按钮时获取数据属性。

标签 jquery twitter

当单击推文按钮时,我需要访问 data-url="some link"。

使用此代码:

twttr.events.bind('click', function(event) {

var tweeturl = $('.twitter-share-button').data("url");
var count = $('.twitter-share-button').data("count");
console.log(tweeturl, count);
});

但是控制台输出“未定义未定义”。谁能告诉我为什么会发生这种情况以及如何解决它?

查看完整的JS Fiddle

非常感谢大家。

最佳答案

获取 URL 很简单,只需使用以下 HTML:

<div id="foo" data-url="http://ios-blog.co.uk">
    <!-- other html -->
</div>

以及此事件处理程序:

twttr.events.bind('click', function(event) {
    var link = $(event.target).parent().data('url');
    console.log(link);
});

Twitter 的 javascript 将 .twitter-share-button 链接转换为包含共享按钮 html 的 iframe。这意味着当您尝试在代码中选择它时,您实际上选择的 iframe 不具有链接所具有的 data-* 属性。

由于名为 Same-origin policy 的原因,您也无法获取 iframe 的内容并找到计数。 。

但是,您可以使用 Twitter 的 API 获取推文计数:

$.ajax({
    dataType: "jsonp",
    url: 'http://urls.api.twitter.com/1/urls/count.json?url=http://ios-blog.co.uk',
    success: function (data) {
        console.log(data.count);
    }
});

请参阅此工作示例:http://jsfiddle.net/TDgX5/

但是,这不是官方推荐的方法,可能不应该过分依赖。可能有更好的方法来解决您的问题,您使用计数做什么?

关于jquery - 单击 Twitter 按钮时获取数据属性。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19236039/

相关文章:

delphi - 有人有可以将推文上传到 Twitter 的 Delphi 7 代码、类或单元吗?

javascript - 使用 jquery 禁用文本选择在 IE 中不起作用

database - 在 R 中组合多个观察值

twitter - Twitter 可以查看您的密码吗?

javascript - 触发嵌套的 JavaScript 函数

java - Twitter 快速回复 - Twitter4J (Java) 示例

twitter - 如何仅通过经过验证的帐户在 Twitter 上搜索帖子?

iphone - 使用 JQuery 和 Scrollto 插件自动滚动时 iPad 闪烁

javascript - 轻扫面漆侧菜单

jquery - Json 以 unicode 形式返回我的 HTML <br/>\u003cbr/\u003e 。导致 <br/> 打印为文本而不是换行