Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Перевод пользователя на нужное окно в браузере (https://javascript.ru/forum/misc/65431-perevod-polzovatelya-na-nuzhnoe-okno-v-brauzere.html)

oopros 18.10.2016 16:40

Перевод пользователя на нужное окно в браузере
 
Есть JS код, который выполняется в определенный момент:
case event.isIncoming():
 generate2('notification', '<div class="results">Ждем ответа</div>' );
 open().close();


generate2 - выводим нужное сообщение
open().close(); - перекидываем пользователя на окно браузера, где выводится сообщение.

Но проблема в том, когда открыто 2 таких окна в браузере и тогда в одном окне выскакивает сообщение, а пользователя отправляет на другое (там где нет сообщения). Как решить данную проблему? Чтобы пользователя отправляло в то окно, где выполнилось generate2?

Заранее спасибо за помощь!

oopros 26.10.2016 22:20

никто не подскажет?

ksa 27.10.2016 08:15

Цитата:

Сообщение от oopros
никто не подскажет?

Для начала сделай нормальный тестовый пример на котором можно посмотреть суть проблемы и показать варианты решения...

oopros 09.11.2016 17:35

интегрируем сервис
https://github.com/vedisoft/js-sdk-tutorial
там смотрите Шаг 3, есть пример:

pz.onEvent(function (event) {
    switch (true) {
        case event.isIncoming():
            if (event.to === userPhone) {
                showCard(event.from);
            }
            break;
    }
});


т.е. при входящем вызове сдесь вызывают функцию showCard();
Мы на основании данного примера сделали нужным нам код
pz.onEvent(function (event) {
        switch (true) {
            case event.isIncoming():
                    
$.ajax({
  type: 'POST',
  url: 'proverka.php',
  data: 'tel='+event.from,
  success: function(data){
    $('.results').html(data);
  }
});
 generate2('notification', '<div class="results">Ждем ответа</div>' );
 open().close();



...


        }
    });


в нашем случае, мы через ajax передаем переменные в preoverka.php и получаем от туда нужный ответ, который с помощью функции generate2 выводим на экран.
Но вся загвоздка в строке "open().close();"
Я ее прописал для той цели, когда открыто несколько одинаковых окон у пользователя и звонит телефон - generate2 срабатывает только в одном окне(в котором есть соединение), моя цель была "бросить" пеервести фокус на данное окно, где вылетело generatr2. Но зачастую оно бросает пользователя на другое окно, где generate2 не выскакивало.

Надеюсь понятно описал, постарался максимально детально все описать.

Pavel M. 09.11.2016 17:47

может быть поможет https://learn.javascript.ru/window-focus

oopros 09.11.2016 21:16

с данным вариантом у меня не получилось.
прописал код для теста просто
<script type="text/javascript">
setInterval(function() { window.focus() }, 1000);
  </script>

ничего не происходит, если я ушел с этого окна.

Deff 10.11.2016 09:08

window.focus()
синим конкретное имя нужного окна, а не основной страницы,
Имя задаётся => newWin.focus() http://javascript.ru/window-open#highlighter_42297

oopros 10.11.2016 22:05

не совсем понятно. Можно ли пример? я новичек, поэтому сходу сложно разобарться

oopros 13.11.2016 15:33

никто не подскажет?

ksa 14.11.2016 08:14

Цитата:

Сообщение от oopros
Можно ли пример?

Тестовый пример ждем как раз от тебя...
Цитата:

Сообщение от oopros
никто не подскажет?

Вот на том примере можно будет хоть что-то показать...


Часовой пояс GMT +3, время: 23:48.