За последние 24 часа нас посетили 16895 программистов и 1293 робота. Сейчас ищут 1509 программистов ...

Location.reload после закрытия "Окна-Ребенка"

Тема в разделе "JavaScript и AJAX", создана пользователем donvasin, 10 июн 2014.

  1. donvasin

    donvasin Новичок

    С нами с:
    29 апр 2014
    Сообщения:
    25
    Симпатии:
    0
    Привет, форумчане!

    Сейчас пишу авторизацию через соц. сети, собственно встала задача открытия нового окошка ( window.open ) , выполнения в нем скрипта и затем обновления родительского окна.
    Пока планирую, как это сделать, мысли в голову не лезут.
    Помогите разобраться!

    Пробовал вот так, но работает, если только указывать ссылку на внутренние страницы, если открыть сторонний сайт - страницу не обновляет. Как можно исправить?

    Код (Text):
    1. <html>
    2. <head>
    3. <script>
    4. var childWindow;
    5. function createChildWindow() {
    6. w = (window.innerWidth-626)/2;
    7. h = (window.innerHeight-436)/2;
    8. childWindow = window.open('','','toolbar=0,status=0,width=626,height=436,left='+w+',top='+h);
    9. childWindow.onbeforeunload = function() {
    10. window.location.reload();
    11. }
    12. }
    13.  
    14. </script>
    15. </head>
    16. <body>
    17. <input type="text">
    18. <button onclick="createChildWindow();">Создать дочернее окно</button>
    19. </body>
    20. </html>
    PS input там прописал, чтобы следить, обновилась ли страница. Т.е. ввожу значение, если обновилась - поле снова пустое.
    + понимаю, что потом еще будет задача вызвать функцию location.reload для родительского окна из окна-ребенка, т.к. если просто его закрыть, оно обновляться не должно. Должно обновляется, только при успешной авторизации.

    Заранее благодарю за ответы!

    Добавлено спустя 38 минут 7 секунд:
    Вроде додумался..
    Из дочернего окна управлять родительским можно с помощью 'opener'
    Т.е. работает opener.location.reload();

    По идее после авторизации будет редирект на страничку на моем сайте, а уже с нее должен сработать opener.. По идее)
    Отпишусь потом.

    Добавлено спустя 26 минут 35 секунд:
    Работает. Ура :)
     
  2. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    а лучше пользовать "модальные окна" (читай попапы, ибо какие они окна) и бед не знать.
     
  3. donvasin

    donvasin Новичок

    С нами с:
    29 апр 2014
    Сообщения:
    25
    Симпатии:
    0
    Ke1eth, Вконтакте и фейсбук не позволяют грузить в айфреймах подтверждение доступа. А в модальном окне это можно было бы сделать только через iframe. А кстате mail.ru позволяет))