Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Рекурсии и человечность (https://javascript.ru/forum/misc/34288-rekursii-i-chelovechnost.html)

shifteee 28.12.2012 00:00

Рекурсии и человечность
 
Подскажите, о всезнающие

Есть задача передачи данных из разных окон одного сайта некоего набора параметров. Задача решается простым сохранением в куках некоторых параметров, выбранных пользователем, в одной из вкладок. И тут встает проблема. Как сказать другой вкладке сайта, что пользовательь определился и кое-что сохранилось в кукисах?

Первое что пришло в голову - по аналогии с ajax рекурсивно вызывать функию проверки сохранения куков с промежутками 5 секунд. Но тут встал вопрос о человечности такого метода. А может это неправильно, может я таким образом издеваюсь над браузером пользователя? А вдруг велосипед давно изобретен, а я не в курсе?

Deff 28.12.2012 00:12

Цитата:

Сообщение от shifteee
Есть задача передачи данных из разных окон одного сайта некоего набора параметров

Неясен смысл необходимости столь частой проверки и самого обмена

shifteee 28.12.2012 00:18

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

Не слишком абстрактно? :)

Deff 28.12.2012 00:21

shifteee,
Не проще тады на странице сайта вставить скрытый фрейм второй страницы и по таймеру обменивацо данными меж ними

shifteee 28.12.2012 00:29

Не проще из-за откровенной нелюбви к iFrame. Хотя смысл не меняется даже при этом. Тот же таймаут, тоже обращение к фукции по тайму :)

DjDiablo 28.12.2012 00:42

мысль я только фрагментарно уловил.

если две вкладки для одного приложения с одного домена, и нужно чтобы вторая вкладка среагировала на действие первой то проверка флага в куки мне нравится (в качестве флага я бы использовал время установки флага). Даже проверка раз в секунду как мне кажется недаст большой нагрузки. (попробывал на i3 у меня проверка каждые 10 милисекунд нагружает процессор меньше чем на 1% возможно на 10ю или сотую долю процента даже).

напротив фрейм обновляемый потаймеру даст огромную нагрузку.

а вот если нужно свести инфу спарсенную с двух сайтов, то сводить её надо на сервере и только потом отправлять на клиент. Тоесть на клиент уже должен придти готовый результат для отображения. с DOM деревом можно и на PHP работать а не только на javascript.

Deff 28.12.2012 00:47

Цитата:

Сообщение от DjDiablo
если две вкладки для одного приложения с одного домена, то проверка флага в куки мне нравится

Имхо изначально непродуманная у ТS - идеология - неоткрытие/закрытие одной из вкладок разрушает процесс.

DjDiablo 28.12.2012 01:13

Одно приложение по двум закладкам размазывать нельзя, Deff ты прав обсалютно даже неспорю. Другое дело если как в контакте открыто несколько вкладок, в первой играет песня, запускаешь песню на втрой, а на первой вкладке песня Выключается. В контакте может и нетак реализовано, но эффекта похожего добиться вродебы можно. К примеру ты нажал в приложении кнопку обновить, и обновилось во всех копиях приложения открытых в разных вкладках.

а ещё ведь есть какое то событие которое можно бросать между окнами, ктонибудь помнит как оно называется ?

а ещё есть сокеты :)

shifteee 28.12.2012 11:17

А можно про это событие и сокеты чуть подробнее?


Часовой пояс GMT +3, время: 05:43.