С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/40: Рейтинг темы: голосов - 40, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 06.05.2016
Сообщений: 14

Активация неактивной вкладки браузера

09.08.2016, 00:01. Показов 8113. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно реализовать такую задачу: активировать вкладку браузера (определённого сайта) через определённое время, если она не активна (не обязательное условие)

как вариант рассматривал открытие окна через alert, но в таком случае его нужно закрыть (по таймеру), не нажимая на кнопку формы (как я понял, реализовать такое нельзя)

Пояснение: допустим, в браузере у меня открыто 2 сайта - yandex.ru и mysite.ru. На данный момент яндекс - активная вкладка, нужно активировать вкладку mysite, при этом не загружать пользователя дополнительными действиями в виде клика по всплывающему окну и тп

Можно ли вообще воплотить всё это? И если да, то каким образом? (Язык реализации и способ не играет важной роли)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.08.2016, 00:01
Ответы с готовыми решениями:

Как уловить событию смены вкладки браузера?
Допустим пользователь зашел на мой сайт. После этого он переключился со вкладки моего сайта на другую. Или например пользователь свернул...

Редирект только при закрытии вкладки браузера
Всем привет. Столкнулся с ужасной проблемой, нужно сделать редирект на другую страницу при закрытии вкладки в браузере. Сам редирект...

Удаление данных из бд после закрытия вкладки браузера
Доброго времени суток! <---!Я нулевой в этом деле---> Задача: пользователь открыв главную страницу сайта, получает поле ввода логина ...

5
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
09.08.2016, 00:30
Цитата Сообщение от Алексей525 Посмотреть сообщение
допустим, в браузере у меня открыто 2 сайта - yandex.ru и mysite.ru. На данный момент яндекс - активная вкладка, нужно активировать вкладку mysite
давайте договоримся -- речь идёт о страницах, но не о сайтах (сайт -- это десятки, сотни, а то и тысячи страниц на одном доменном имени, а в окне браузера может быть открыта только одна страница
ваша страница mysite.ru может хоть что-то знать о вкладке, где открыта страница яндекса, только в том случае, если ваша страница эту вкладку сама и открыла с помощью скрипта, в противном случае ваша страница не имеет совершенно никакого представления о том -- сколько вкладок в браузере открыто, какие именно страницы в них находятся и какая именно из вкладок на данный момент активна
вот из этого и исходите
сделать активной вашу страницу, если юзер смотрит другую, вы никак не можете
представьте себе, что вы смотрите по телевизору программу "Время" по первому каналу и тут вдруг канал Россия 1 сам переключает ваш телевизор на просмотр мыльного сериала по России 1
Хорошо это?
нет, нехорошо
в браузере тоже нельзя управлять вкладками
0
0 / 0 / 0
Регистрация: 06.05.2016
Сообщений: 14
09.08.2016, 01:10  [ТС]
Хотя сайты бывают и одностраничными, пожалуй, соглашусь, корректнее сказать страница.

Сделать страницу (вкладку) активной, если она не активна, можно. Сделать это у меня получилось примерно так:
JavaScript
1
2
3
4
5
function func() {
  alert( ' ' );
}
 
setTimeout(func, 1000);
Через 1000мс просто активируется вкладка с данным скриптом и откроется окно

Как я понял, в Chrome, Opera и Safari дальнейшее выполнение скрипта приостанавливается, пока открыто это окно (alert). Но что с IE и Firefox? Он в них выполняется? Может быть именно на IE и Firefox можно что то придумать?
0
Эксперт PHP
 Аватар для Fedor Vlasenko
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
09.08.2016, 02:16
да через alert можно, используйте подписку на изменение storage и передавайте данные любой вкладке
пример localstorage
P.S/ Не полностью прочитал, если вкладка одна то конечно только таймер
Мое решение когда вкладок несколько. Можно использовать мультисайтовость используя фреймы, но это наверное другая история
0
2 / 2 / 0
Регистрация: 03.01.2019
Сообщений: 97
04.04.2024, 13:21
Здравствуйте!
Не хочу плодить новую тему. Поэтому спрошу здесь - мой вопрос есть продолжение ветки.
Есть 2 страницы моего сайта, работающего через сервер.
Страница 1:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<body>
    <div>Страница 1</div>
    <div id="button">Открыть страницу 2</div>
    <script>
        document.getElementById('button').addEventListener('click', function() {
            if (!localStorage.getItem('page_2_opened')) {
                localStorage.setItem('page_2_opened','page_2_opened');
                var page2 = window.open('2.html');
                var intervalPage1 = setInterval(function() {
                    if (page2.closed) {
                        localStorage.removeItem('page_2_opened');
                        clearInterval(intervalPage1);
                    };
                }, 100);
            } else {
                localStorage.setItem('page_2_refresh','page_2_refresh');
            };
        });
    </script>
</body>
Страница 2:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
<body>
    <div id="time"></div>
    <script>
        document.getElementById('time').textContent = new Date().getTime();
        var intervalPage2 = setInterval(function() {
            if (localStorage.getItem('page_2_refresh')) {
                localStorage.removeItem('page_2_refresh');
                window.location.reload();
            };
        }, 100);
    </script>
</body>
Всё это работает правильно и именно так, как надо, за исключением того:
Основная работа происходит на странице 1. Поэтому сама страница 2 не очень важна и "висит на заднем фоне". Но по клику на странице 1 вкладка браузера со страницей 2 должна стать активной.
Что-то не соображу, как это сделать. Прошу подсказать идею.
0
 Аватар для voraa
1241 / 1136 / 178
Регистрация: 21.01.2024
Сообщений: 5,163
04.04.2024, 13:40
Никак. Это возможно только в результате действий пользователя.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.04.2024, 13:40
Помогаю со студенческими работами здесь

Вкладки браузера в 2 строки
Доброго времени суток, интересует такой вопрос, как можно сделать вкладки в браузере, допустим в opera в 2 или более строки, пробовал через...

Вкладки браузера Chromium
Доброго времени суток,подскажите как организовать создание вкладок в Chromium. Сделал что то подобное в WebBrowser: var TabSheet :...

Парсинг вкладки браузера
Всем доброго времени суток! Хочу написать автоответчик типа бота для whatsapp, и хочу попробовать делать что-то типа парсинга веб-версии...

Закрытие вкладки браузера
Столкнулся с проблемкой. Прожка открывает браузер хром,заходит на сайт и находит ссылку на сайте и кликает по ней, открывается страница в...

Вкладки для браузера в Delphi
Здравствуйте. Тема очень давнишняя еще 2012 года, про открытие новых вкладок в созданном браузере Delphi. Не могли бы вы немного помочь с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru