Openapi.js - Начал зависать VK.Auth.login

Создание Desktop-приложений, виджеты ВКонтакте для сайтов и публичных страниц, OAuth 2.0, Open API, Standalone
Ответить
Dmitry_Milk
Сообщения: 3
Зарегистрирован: 09 июл 2015, 15:33

Openapi.js - Начал зависать VK.Auth.login

Сообщение Dmitry_Milk »

Приветствую.

Непонятно из-за чего вдруг перестал работать VK.Auth.login в приложении, которое до этого работало.

Проблема выглядит так - пользователь жмет на кнопку "войти через ВКонтакте", отрабатывает функция, вызывающая VK.init и затем сразу VK.Auth.login. Управление уходит в VK.Auth.login, но callback-функция, переданная аргументом, не вызывается, а вместо этого после закрытия Popup-окна вдруг резко возрастает потребление процессорного времени и через некоторое время браузер ругается на скрипт, что тот потребляет слишком много ресурсов. При принудительном завершении выполнения скрипта в браузере открывается http://vk.com/oauth.

Кто-нибудь сталкивался с подобным? Куда смотреть?

openapi.js беру с сайта вконтакта //vk.com/js/api/openapi.js. Для разбирательства стянул скрипт локально, покопался в его кишках - проблема возникает после завершения цикла опроса состояния popup-окна в функции VK.Auth.login, когда VK.Auth.login вызывает внутри себя VK.Auth.getLoginStatus перед тем, как окончательно вызвать пользовательский колбэк. Где-то в VK.Auth.getLoginStatus все и умирает. Дальше раскопать не смог, идет какая-то магия с глобальным массивом системных колбаков VK.Auth.lsCb и attachScript.
Dmitry_Milk
Сообщения: 3
Зарегистрирован: 09 июл 2015, 15:33

Re: Openapi.js - Начал зависать VK.Auth.login

Сообщение Dmitry_Milk »

В догонку - зависание возникает в скрипте https://login.vk.com/?act=openapi&oauth=1&aid=.... (именно его приходится снимать по перерасходу ресурсов), который аттачится внутри VK.Auth.getLoginStatus
Dmitry_Milk
Сообщения: 3
Зарегистрирован: 09 июл 2015, 15:33

Re: Openapi.js - Начал зависать VK.Auth.login

Сообщение Dmitry_Milk »

Все, вопрос снят.

Кнопка, которая вызывала JS-функцию, вызывающую VK.Auth.login, содержала как onclick атрибут, так и href атрибут, сславшийся на "#". Убрали onclick, перенесли вызов в href, и все заработало как надо. Что произошло, и почему раньше работало, а потом вдруг резко перестало - непонятно.
Eugene21
Сообщения: 1
Зарегистрирован: 11 июл 2015, 18:46

Re: Openapi.js - Начал зависать VK.Auth.login

Сообщение Eugene21 »

здравствуйте.
присоединяюсь к вопросу.
проблема остается.
на сейчас перенос вызова функции в href ничего не меняет. зависания продолжаются, даже если вызвать функцию руками в консоли.
может у кого есть больше информации по этому вопросу?
спасибо!
sprintersha
Сообщения: 1
Зарегистрирован: 20 авг 2015, 22:26

Re: Openapi.js - Начал зависать VK.Auth.login

Сообщение sprintersha »

У меня возникла такая же проблема.
Проблема в хэш символе в конце адресной строки, который появляется в результате клика на <a href="#"></a>
Когда я удалила его из урла и обновила страницу - все заработало
Ответить