Как JavaScript'ом отследить поделился ли человек страницей в соцсетях?

V8
На сайте с 14.05.2012
Offline
30
907

Как JavaScript'ом отследить поделился ли человек страницей в соцсетях?

Есть сайт, хочется сделать чтобы доступ к нему был доступен только после того как человек поделился ссылкой в соцсетях.

вконтактовский шаринг строится на ответе из окна попапа:

function doPost() {

if (!window.ignoreNoImage && isVisible('bottom_progress')) return;
var addImage = intval(ge('add_image').value);
show('bottom_progress');
if (!window.sharePhotoOwnerId || !window.sharePhotoId) {
if (!window.ignoreNoImage && addImage) {
if (window.shareImageUrl || window.shareImageCurrent) {
return loadImageAndPost();
}
}
}
var params = {
act: 'a_submit',
hash: shareHash,
title: ge('note_title').value,
url: shareUrl,
share_title: shareTitle,
share_text: shareDescription,
share_comment: ge('share_comment').active ? ge('share_comment').value : '',
image_url: (sharePhotoOwnerId && sharePhotoId) ? shareImageUrl : '',
photo_owner_id: addImage ? sharePhotoOwnerId : 0,
photo_id: addImage ? sharePhotoId : 0,
privacy_note: getPrivacy('note'),
privacy_notecomm: getPrivacy('notecomm'),
to_status: ge('to_status').value,
status_export: ge('status_export').value
}
if (window.parsedExtra) {
params.extra = window.parsedExtra;
params.extra_data = window.parsedExtraData;
params.to_video = ge('to_video').value;
params.privacy_video = getPrivacy('video');
params.privacy_videocomm = getPrivacy('videocomm');
}
Ajax.postWithCaptcha('share.php', params, {onSuccess: function(obj, text) {
hide('bottom_progress');
var response = eval('(' + text + ')');
if (response.note_id || response.status_id || response.video_id) {
if (response.status_id) {
var message = '<b>Поздравляем***33;</b> Ссылка появится на Вашей странице.';
} else if (response.video_id) {
var message = '<b>Поздравляем***33;</b> видео успешно добавлено.';
} else {
var message = '<b>Поздравляем***33;</b> Ваша заметка успешно опубликована.';
}
ge('cont').innerHTML = '<div style="padding: 70px 0px; text-align: center;"><div style="font-size: 12px;">'+message+'</div><div style="padding-top: 20px">Это окно закроется через несколько секунд.</div></div>';
if (response.status_id) {
ge('bottom_buttons').innerHTML = '<div class="button_blue fl_r"><button id="goto_button" onclick="window.open(\'profile.php?status=' + response.status_id + '\', \'_blank\');">Перейти к записи</button></div></a>';
} else if (response.video_id) {
ge('bottom_buttons').innerHTML = '<div class="button_blue fl_r"><button id="goto_button" onclick="window.open(\'video' + response.owner_id + '_' + response.video_id + '\', \'_blank\');">Перейти к видео</button></div></a>';
}
doResize();
setTimeout(window.close, 3000);
} else if (response.response) {
received(response.response);
}
}, onFail: function() {
hide('bottom_progress');
}, onCaptchaShow: function() {
hide('bottom_progress');
}});
}

1) Как определить успешный ли был шаринг или нет, из основного окна?

2) есть подобные примеры для других соцсеток?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий