Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Интеграция внешнего API на сайт. (https://javascript.ru/forum/misc/85480-integraciya-vneshnego-api-na-sajjt.html)

savsoft 16.09.2023 15:53

Интеграция внешнего API на сайт.
 
Для интеграции внешнего API на сайт, необходимо открыть страницу в новом окне небольшого размера, которое нельзя закрыть, кроме как через js. Возможно ли это?

И очень желательно, чтобы это окно было постоянно поверх другого окна.

voraa 16.09.2023 18:13

Из винды можно любое окно браузера закрыть.

savsoft 16.09.2023 18:33

Цитата:

Сообщение от voraa (Сообщение 553247)
Из винды можно любое окно браузера закрыть.

Тогда из одной страницы сайта по нажатию кнопки, открываю отдельное окно, в котором подключаюсь к API и вывожу параметры, подключение
const mark = new MyMark();

Могу ли я на остальных страницах получить доступ к методам mark?

voraa 16.09.2023 18:36

Если они из одного источника (с одного сервера) загружены.

savsoft 16.09.2023 19:37

Цитата:

Сообщение от voraa (Сообщение 553249)
Если они из одного источника (с одного сервера) загружены.

С одного сервера, просто разные страницы сайта. На одной странице подключение и работа с API, а на остальных нужно отображать статистику текущего подключения.
Не знаю что для этого использовать.

voraa 16.09.2023 20:16

Трудно что либо сказать по такому абстрактному описанию. Что за АПИ, как с ним работать, какие данные передавать и получать? Что входит в статистику....?
Может быть будет достаточно обмена сообщениями через postMessage.
https://developer.mozilla.org/en-US/...ow/postMessage
https://developer.mozilla.org/en-US/...el/postMessage

Aetae 17.09.2023 06:34

savsoft, может тебе нужен ServiceWorker, а не шаманства с какими-то страничками?

savsoft 17.09.2023 12:15

Цитата:

Сообщение от voraa (Сообщение 553252)
Трудно что либо сказать по такому абстрактному описанию. Что за АПИ, как с ним работать, какие данные передавать и получать? Что входит в статистику....?

Например в новом окне создается mark и с ним выполняются некоторые действия.
const mark = new MyMark();

mark.init({
...
});

mark.status = mstatus => {
...
};

На остальных страницах необходимо получить доступ к mstatus и его свойствам или вообще получить доступ к mark и уже на каждой странице вызывать mark.status. Что-то типа этого, я еще сильно плаваю в этой части js.

savsoft 17.09.2023 12:16

Цитата:

Сообщение от Aetae (Сообщение 553262)
savsoft, может тебе нужен ServiceWorker, а не шаманства с какими-то страничками?

Насколько я слышал главное предназначение ServiceWorker для организации работы оффлайн и синхронизации. А у меня только онлайн.

Aetae 17.09.2023 12:31

savsoft, главное то главное, но не единственное лол.
Вообще если исходить из названия и предназначения - я бы тебе посоветовал SharedWorker, вот только он очень хреново поддерживается, а ServiceWorker, кроме основной оффлайн мути, умеет всё то же что и SharedWorker.

В целом связь меж вкладками - в любом случае асинхронщина, ты не сможешь "просто работать с объектом\классом", только слать письма деду на деревню и ждать ответного гудка.

С сервером - это вебсокеты всякие, вез сервера - воркеры или, вариант для бедных, session\localstorage и onstorage событие.


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