Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.10.2016, 22:03
Интересующийся
Отправить личное сообщение для alex.bityuckov@yandex.ru Посмотреть профиль Найти все сообщения от alex.bityuckov@yandex.ru
 
Регистрация: 30.08.2016
Сообщений: 16

Нужно отследить редирект попап окна и получить url страницы на которую перешёл юзер
Создаю окно
var newWin = window.open('https://oauth.vk.com/authorize?client_id=5696649&display=popup&redirect _uri=https://oauth.vk.com/blank.html%20&scope=messages,friends&response_type =code&v=5.59', "vk", "width=200,height=200");
newWin.focus();

Не смог отыскать в гугле как отследить изменение url попап окна. То есть юзер кликает по копке и переходит на страницу ответа и мне после этого надо вытащить новый url.
Ответить с цитированием
  #2 (permalink)  
Старый 30.10.2016, 22:10
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

Никак. Никто вам не даст следить за тем куда там ходит юзер.
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 30.10.2016, 22:13
Интересующийся
Отправить личное сообщение для alex.bityuckov@yandex.ru Посмотреть профиль Найти все сообщения от alex.bityuckov@yandex.ru
 
Регистрация: 30.08.2016
Сообщений: 16

Почему?
У это же дочернее окно.
Ответить с цитированием
  #4 (permalink)  
Старый 30.10.2016, 22:18
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

alex.bityuckov@yandex.ru, а какая разница? Что новое окно что новая вкладка, юзер может из неё куда угодно перейти.
Окно вам доступно только если домен тот же и не поменялся.
__________________
29375, 35

Последний раз редактировалось Aetae, 30.10.2016 в 22:20.
Ответить с цитированием
  #5 (permalink)  
Старый 30.10.2016, 22:20
Интересующийся
Отправить личное сообщение для alex.bityuckov@yandex.ru Посмотреть профиль Найти все сообщения от alex.bityuckov@yandex.ru
 
Регистрация: 30.08.2016
Сообщений: 16

То есть если юзер вобъёт в адресную строку попапа свою ссылку то я не смогу управлять окном через newWin?
Ответить с цитированием
  #6 (permalink)  
Старый 30.10.2016, 22:26
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

Смотря что понимать под управлять. Перенаправить пользователя куда-нибудь всё ещё можно, а узнать где он - нет.
__________________
29375, 35
Ответить с цитированием
  #7 (permalink)  
Старый 30.10.2016, 22:32
Интересующийся
Отправить личное сообщение для alex.bityuckov@yandex.ru Посмотреть профиль Найти все сообщения от alex.bityuckov@yandex.ru
 
Регистрация: 30.08.2016
Сообщений: 16

Хорошо. В api вк есть такой абзац и он говорит, что сначало надо перенаправить пользователя, потом забрать из его адресной строки код и затем при помощи кода получить acess_token(только на сутки). Для обновления токена всё это надо провернуть снова, но пользователь не должен после перевого перенаправления что-то подтверждать т.к. он уже принимал раньше и всё вроде как можно сделать в автоматическом режиме. Отсюда вопрос как мне реализовать подобный функционал без попапа, то есть перенаправить пользователя и мониторить его url?
Ответить с цитированием
  #8 (permalink)  
Старый 30.10.2016, 22:58
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

Нет. "Он" говорит не это.
"Он" говорит примерно следующее(детали могут отличаться, но суть всегда одна):
Сообщение от VK
3. Получение access_token
После успешной авторизации приложения браузер пользователя будет перенаправлен по адресу REDIRECT_URI, указанному при открытии диалога авторизации. При этом ключ доступа к API access_token и другие параметры будут передана в URL-фрагменте ссылки:
http://REDIRECT_URI#access_token=533bacf01e11f55b536a565b57531ad114461ae8736d6506a3&expires_in=86400&user_id=8492
Очевидно, что в redirect_uri вам следует указать собственный сайт и принять токен на сервере. Но можно, если хочется, и получить из открытого окна через js, т.к. домены будут совпадать, связавшись через window.opener, либо периодически проверяя не появилоcь ли разрешения читать location открытого окна.
__________________
29375, 35

Последний раз редактировалось Aetae, 30.10.2016 в 23:02.
Ответить с цитированием
  #9 (permalink)  
Старый 31.10.2016, 17:11
Интересующийся
Отправить личное сообщение для alex.bityuckov@yandex.ru Посмотреть профиль Найти все сообщения от alex.bityuckov@yandex.ru
 
Регистрация: 30.08.2016
Сообщений: 16

C редиректом не вариант там ошибка в документации и можно использовать только url указанные в настройках приложения, но их просто нет для standalone приложения, поэтому можно использовать только такую ссылку для редирект https://oauth.vk.com/blank.html. А на счёт window.opener я не совсем понял как через него я должен отследить url дочернего окна? Он же даёт ссылку на родительское окно?
Ответить с цитированием
  #10 (permalink)  
Старый 31.10.2016, 17:33
Интересующийся
Отправить личное сообщение для alex.bityuckov@yandex.ru Посмотреть профиль Найти все сообщения от alex.bityuckov@yandex.ru
 
Регистрация: 30.08.2016
Сообщений: 16

Короче я немного погорячился на счёт ошибки в документации вк. Просто не совсем точно сказано. У них есть настройка доверенного uri, просто это находится в графе open api и его сначала надо включить полностью заполнить и только тогда появиться возможность добавлять доверенные uri, что весьма странно(так как можно работать с api и без open api). Но вопрос второй остался. Как через window.opener я должен отследить url дочернего окна? Он же даёт ссылку на родительское окно?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отследить событие "изменение url без перезагрузки страницы" и получить новый url solomon2 Events/DOM/Window 6 22.12.2023 13:21