Вернуть результат из дополнительного окошка браузера в основное. Как реализовать?

12
iguania
На сайте с 10.12.2010
Offline
72
798

Доброго времени суток.

Такая вот есть проблема... Есть основное окно браузера в котором происходит действие. В этом окне есть кнопка авторизации. По клику открывается новое окно путем window.open (не вкладка), в котором, собственно, и происходит авторизация (заполнение полей логин, пароль, проверка данных на сервере). После успешной авторизации нужно закрыть это окно и результат вернуть в основное. Вот как это сделать ума не приложу... Может кто натолкнет на мысль, куда хоть ковырять, по каким запросам искать инфу.

Заранее благодарю всех ответивших.

Все всегда заканчивается хорошо. Если все закончилось плохо, значит, это еще не конец…
Неадекватный
На сайте с 12.07.2012
Offline
12
#1

Зачем делать новое окно?

Достаточно блок новый на js вывести на fadeIn/Out. А потом и редирект на js.

Примеры.

iguania
На сайте с 10.12.2010
Offline
72
#2
Неадекватный:
Зачем делать новое окно?

Задание такое, по-другому нельзя. Вот, например, когда вы хотите лайкнуть, а не авторизированы на фейсбук, то что.... появляется новое окошко (не блок никакой) и в нем происходит авторизация. Если она была успешна, то результат этой успешности возвращается в основное окно. Вот как бы это реализовать...

A
На сайте с 06.11.2010
Offline
128
#3

http://javascript.ru/forum/

думаю там быстрее вам помогут)

iguania
На сайте с 10.12.2010
Offline
72
#4
Alkoshenko:
думаю там быстрее вам помогут)

понятно, спасибо

I
На сайте с 06.08.2012
Offline
1
#5

Допустим, обратиться к javascript-функции родительского окна мы можем таким образом:

window.opener.function(arg);

Где, соответственно, function - функция, а arg - аргумент. В качестве аргумента есть возможность передать результат аутентификации (успех/неудача).

Но вы же наверняка понимаете, что это небезопасно в случае с авторизацией, м?

iguania
На сайте с 10.12.2010
Offline
72
#6

iNfame, спасибо.

iNfame:
Но вы же наверняка понимаете, что это небезопасно в случае с авторизацией, м?

Это лишь часть авторизации, которая, по сути, еще не дает никаких прав.

Как же тогда происходит авторизация у Твиттера, к примеру, когда для того, чтобы твитнуть пост (а вы не авторизированы у него), нужно сначала авторизироваться в новом окне?

I
На сайте с 06.08.2012
Offline
1
#7
iguania:
iNfame, спасибо.



Это лишь часть авторизации, которая, по сути, еще не дает никаких прав.
Как же тогда происходит авторизация у Твиттера, к примеру, когда для того, чтобы твитнуть пост (а вы не авторизированы у него), нужно сначала авторизироваться в новом окне?

У Твиттера, если брать его за пример, все работает чуточку иначе.

При клике по кнопке "твитнуть" вы передаете их скрипту 4 GET-параметра, это original referrer, text, url и via. Из них формируется твит. Если пользователь не залогинен - ему предлагается авторизоваться. Попап-окно разве что-то передает родительскому?

Неадекватный
На сайте с 12.07.2012
Offline
12
#8
iNfame:
При клике по кнопке "твитнуть" вы передаете их скрипту 4 GET-параметра

Различать POST и GET просто, не правда ли?

У Свитера, как раз-таки, сделан точно такой формат, о котором я и говорил в #2

У вас есть хоть наброски авторизации? На каком языке?

I
На сайте с 06.08.2012
Offline
1
#9
Неадекватный:
Различать POST и GET просто, не правда ли?

У Свитера, как раз-таки, сделан точно такой формат, о котором я и говорил в #2

У вас есть хоть наброски авторизации? На каком языке?

Ну если учитывать тот факт, что мы говорим о разных вещах, а вы невнимательно читаете - да, довольно просто.

Речь о кнопках твиттера, используемых на сторонних сайтах. Поделиться > Twitter.

И да, там GET-запрос.

jpg scr.jpg
Неадекватный
На сайте с 12.07.2012
Offline
12
#10

iNfame, я никогда не делал твиты с других сайтов. :)

В самом Твиттере POST.

12

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