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

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

09.08.2016, 00:01. Показов 8267. Ответов 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
1277 / 1243 / 185
Регистрация: 21.01.2024
Сообщений: 5,738
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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru