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

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

09.08.2016, 00:01. Показов 8297. Ответов 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
1292 / 1269 / 189
Регистрация: 21.01.2024
Сообщений: 5,864
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
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru