Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2019, 09:52   #1
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию Есть ли простой способ мгновенного обмена событиями и данными между локальными html, js ?

Имеются html, js файлы на локальном ПК запускаемый браузером. Используется LocalStorage браузера. Есть ли простой способ мгновенного обмена между двум скриптами( страничками), если находятся как бы в одном домене ( одной папке на ПК)?
Сейчас пока вариант просто по таймеру опрос ячеек в LocalStorage.

Последний раз редактировалось Illusiony; 31.05.2019 в 10:00.
Illusiony вне форума Ответить с цитированием
Старый 31.05.2019, 10:06   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

использовать сервер (можно локальный) предлагать?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 31.05.2019, 10:36   #3
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
использовать сервер (можно локальный) предлагать?
Спасибо, не надо. Сервер не приемлем
Illusiony вне форума Ответить с цитированием
Старый 31.05.2019, 11:16   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Illusiony Посмотреть сообщение
Спасибо, не надо.
Как скажете.


Цитата:
Сообщение от Illusiony Посмотреть сообщение
Сервер не приемлем
просто любопытно - а чем вызвано такое ограничение?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 31.05.2019, 15:20   #5
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию

Скрипты будут запущены на локальном ПК клиента. Клиент не будет устанавливать еще дополнительные зависимости, это не стоит того.
Illusiony вне форума Ответить с цитированием
Старый 31.05.2019, 15:48   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от Illusiony Посмотреть сообщение
Сейчас пока вариант просто по таймеру опрос ячеек в LocalStorage
там событие есть.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 31.05.2019, 17:14   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Illusiony Посмотреть сообщение
Используется LocalStorage браузера
значит, скрипты работают в соседних страничках одного и того же браузера?
и без выхода в интернет?
а браузер какой? LocalStorage в любом есть?

это пробовали?
http://htmlbook.ru/html5/storage
Цитата:
Слежение за областью HTML5-хранилища
Если вы хотите программно отслеживать изменения хранилища, то должны отлавливать событие storage. Это событие возникает в объекте window, когда setItem(), removeItem() или clear() вызываются и что-то изменяют. Например, если вы установили существующее значение или вызвали clear() когда нет ключей, то событие не сработает, потому что область хранения на самом деле не изменилась.

Событие storage поддерживается везде, где работает объект localStorage, включая Internet Explorer 8. IE 8 не поддерживает стандарт W3C addEventListener (хотя он, наконец-то, будет добавлен в IE 9), поэтому, чтобы отловить событие storage нужно проверить, какой механизм событий поддерживает браузер (если вы уже проделывали это раньше с другими событиями, то можете пропустить этот раздел до конца). Перехват события storage работает так же, как и перехват других событий. Если вы предпочитаете использовать jQuery или какую-либо другую библиотеку JavaScript для регистрации обработчиков событий, то можете проделать это и со storage тоже.

Код:
if (window.addEventListener) {
  window.addEventListener("storage", handle_storage, false);
} else {
  window.attachEvent("onstorage", handle_storage);
};

Последний раз редактировалось Serge_Bliznykov; 31.05.2019 в 17:19.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 31.05.2019, 17:30   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Слежение за областью HTML5-хранилища
в хроме, например, прекрасно работает.

в одном файле включаем слежение (назначаем обработчик события):
Код:
<html>
<head>
<script>
if (window.addEventListener) {
  window.addEventListener("storage", handle_storage, false);
} else {
  window.attachEvent("onstorage", handle_storage);
};

function handle_storage(ev){
console.log(ev);
}
</script>
</head>
<body>
</body>
<html>
тут сразу открываем консоль отладчика.


во-втором файле пишем
Код:
<html>
<script>
var foo = localStorage.getItem("bar");
foo = foo + (new Date().getTime());
localStorage.setItem("bar", foo);
</script>
</html>
открываем второй файл (который пишет в localStorage)
Потом смотрим консоль отладчика в первом файле (где мы назначили обработчик события )
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.06.2019, 08:42   #9
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию

Serge_Bliznykov, Огромное спасибо, это то что надо. Я даже как то и не предполагал что такое есть.
Браузер собранный CEF Chromium версии 68 внутри программы OBS для стриминга видео потока в интернет. Но у него походу нету возможности управлять контролами на странице, наверное только отображение
Интернет есть, но для клиента важно бес серверное решение. А я это мог бы пробовать только на delphi 7 ))). Вот не хочу на delphi, выбрал вот такой путь.
Конечно есть свои ограничения- например невозможно писать в локальный файл из js.
Illusiony вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт обмена данными WorldMaster Microsoft Office Word 0 17.06.2018 18:31
Обмен данными между PHP и HTML Girei PHP 6 18.11.2016 20:39
Максимальное расстояние между локальными минимумами ZimOne Общие вопросы C/C++ 2 07.10.2014 20:52
Наименьшее расстояние между локальными максимумами vadiprog Помощь студентам 3 10.12.2011 20:44