Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.05.2020, 17:58
Новичок на форуме
Отправить личное сообщение для web1 Посмотреть профиль Найти все сообщения от web1
 
Регистрация: 03.05.2020
Сообщений: 1

Выполнение JS только при наличии открытого сайта
Есть сайт A со скриптом и сайт B. Нужно, чтобы скрипт на сайте A выполнялся ТОЛЬКО, ЕСЛИ ОТКРЫТ сайт B.

Если юзер закрыл сайт B - скрипт перестаёт выполняться. Снова открыл сайт B - скрипт на сайте A продолжает работать.

Пожалуйста, подскажите где искать, функцию или фреймворк, я уж разберусь самостоятельно. Спасибо всем
Ответить с цитированием
  #2 (permalink)  
Старый 03.05.2020, 20:21
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,138

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

Можно контролировать только действия пользователя на своем сайте.
Именно из за такой политики и существуют яндекс метрики гугланалитик и рекламные сети.

это должно быть очевидно.
Ответить с цитированием
  #3 (permalink)  
Старый 08.05.2020, 02:04
Кандидат Javascript-наук
Отправить личное сообщение для od0201 Посмотреть профиль Найти все сообщения от od0201
 
Регистрация: 07.05.2020
Сообщений: 108

Как я понимаю, у Вас проблема не с тем как запустить скрипт или определить открыт ли сайт, а с тем как общаться между двумя скриптами на разных сайтах.

Если сайты находятся в одном домене и одном браузере, тогда между вкладками можно общайтесь через localStorage, для этого и событие есть
window.onstorage = ()=>{}

Если сайты находятся в разных доменах, но в одном браузере, тогда между вкладками общайтесь в расширении через background

Если сайты находятся в разных браузерах, тогда между вкладками общайтесь через Бэк-энд
Ответить с цитированием
  #4 (permalink)  
Старый 08.05.2020, 11:38
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от od0201
общайтесь через localStorage
Оно не предназначено для этого

Сообщение от od0201
общайтесь в расширении через background
Ещё более удивительно, теперь надо скачивать расширение!

Сообщение от od0201
общайтесь через Бэк-энд
А вот это хорошо, сокеты как раз предназначены для этого!
Ответить с цитированием
  #5 (permalink)  
Старый 08.05.2020, 12:20
Кандидат Javascript-наук
Отправить личное сообщение для od0201 Посмотреть профиль Найти все сообщения от od0201
 
Регистрация: 07.05.2020
Сообщений: 108

да, есть сокеты и это панацея, но чем дальше по пунктам, тем сложнее с реализацией.

localStorage не предназначено. Есть событие, которое срабатывает на изменение localStorage во всех вкладках, кроме той что внесло изменение. Мы его создали, но оно не предназначено, поэтому не используйте данный инструмент. Согласитесь, не логично. Да, не идеально, но просто и поэтому не вижу причин не использовать для мелких задач

по условию задачи можно понять что оба сайта будут работать в единственном экземпляре и будут запускаться разработчиком и не вижу проблем в запуске расширения. Иначе нет смысла такое городить через браузер. пусть сервер отслеживает где открыты сайты В и сам выполнят функцию Сайта А, кстати это и есть 4 решение данной задачи.

еще по поводу расширение, в условии не указано что у нас полный доступ к сайтам, поэтому если это и так, то без расширения нам не обойтись, хотя бы для того чтоб внедрить наш скрипт на данные сайты
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Верстка анимационного сайта (JS/Canvas анимация + JS + HTML/CSS ) aisconverse Работа 1 11.06.2018 09:32
Воспроизведение аудио при переходе по страницам сайта smegol Мобильный JavaScript 2 17.02.2018 01:03
Вывод кликабельных изображений только через js как? panikajo Общие вопросы Javascript 4 07.12.2017 12:54
Почему скрипт отрабатывает в IE только при первом входе на сайт? tygeddar Элементы интерфейса 3 20.09.2012 01:37