如何从 Mail.ru 获取分享数?
How to get share count from Mail.ru?
我尝试从 Mail.ru 社交网络 (Мой Мир) 获取分享数。
如果我转到浏览器,输入 URL http://connect.mail.ru/share_count?url_list=THIS_MY_URL&callback=1&func=?
并按回车键,我会得到这样的响应:
?(
{
"THIS_MY_URL":{"shares":10,"clicks":5}
});
这是我的 jQuery 代码:
var url = encodeURIComponent(location.href);
$.getJSON('http://connect.mail.ru/share_count?url_list=' + url + '&callback=1&func=?', function(response) {
alert(response[url].shares);
});
在 Chrome 控制台中,我收到此消息:
Uncaught TypeError: Cannot read property 'shares' of undefined
怎么了?如何让它发挥作用?
请帮帮我!
看到这里我正在获取值。
var data = { "vk.com": { "shares": 12372, "clicks": 413} };
for (var url in data) {
if (data.hasOwnProperty('vk.com')) {
var shares= data['vk.com'].shares;
}
}
解决方案 I found here.
第一。当响应对象为空时,显示错误消息 Uncaught TypeError: Cannot read property 'shares' of undefined
。这是来自社交网络的标准响应,当 URL 没有分享计数时,即 Object = {}
.
要修复它,请将此代码放入 $.getJSON()
(来自我的第一个 post):
if ($.isEmptyObject(response)) alert('0'); // If Object = {}
else // Code for not empty Object
第二。对于 URL 和 shares > 0
(或 clicks > 0
)的显示计数器,请使用此代码:
var url = encodeURIComponent(location.href);
for (var url in response) {
if (response.hasOwnProperty(url)) {
var count = response[url].shares;
break;
}
}
alert(count);
我尝试从 Mail.ru 社交网络 (Мой Мир) 获取分享数。
如果我转到浏览器,输入 URL http://connect.mail.ru/share_count?url_list=THIS_MY_URL&callback=1&func=?
并按回车键,我会得到这样的响应:
?(
{
"THIS_MY_URL":{"shares":10,"clicks":5}
});
这是我的 jQuery 代码:
var url = encodeURIComponent(location.href);
$.getJSON('http://connect.mail.ru/share_count?url_list=' + url + '&callback=1&func=?', function(response) {
alert(response[url].shares);
});
在 Chrome 控制台中,我收到此消息:
Uncaught TypeError: Cannot read property 'shares' of undefined
怎么了?如何让它发挥作用?
请帮帮我!
看到这里我正在获取值。
var data = { "vk.com": { "shares": 12372, "clicks": 413} };
for (var url in data) {
if (data.hasOwnProperty('vk.com')) {
var shares= data['vk.com'].shares;
}
}
解决方案 I found here.
第一。当响应对象为空时,显示错误消息 Uncaught TypeError: Cannot read property 'shares' of undefined
。这是来自社交网络的标准响应,当 URL 没有分享计数时,即 Object = {}
.
要修复它,请将此代码放入 $.getJSON()
(来自我的第一个 post):
if ($.isEmptyObject(response)) alert('0'); // If Object = {}
else // Code for not empty Object
第二。对于 URL 和 shares > 0
(或 clicks > 0
)的显示计数器,请使用此代码:
var url = encodeURIComponent(location.href);
for (var url in response) {
if (response.hasOwnProperty(url)) {
var count = response[url].shares;
break;
}
}
alert(count);