169 похожих чатов

Всем привет есть ли хранилище кроме sessionStorage которая храниться до

закрытие браузера ? sessionStorage работает только на вкладку а мне нужно чтобы до закрытие браузера или может быть такой момент убить процесс браузера чтобы эти данные удалились есть ли способ такой ?

17 ответов

13 просмотров

можете юзать localStorage и чистить по onbeforeunload

i7 4n
можете юзать localStorage и чистить по onbeforeunl...

ну шарить между вкладками не получится же

i7 4n
можете юзать localStorage и чистить по onbeforeunl...

onbeforeunload срабатывает на закрытие/обновление вкладки

Maxim- Автор вопроса
i7 4n
можете юзать localStorage и чистить по onbeforeunl...

да если убить процесс или свет офнулся на пк

облачное хранилище и облачные функции

Илюша 🎂
onbeforeunload срабатывает на закрытие/обновление ...

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

Maxim- Автор вопроса
i7 4n
ну так можно будет контролить несколько вкладок сп...

я думал можно настроить хранилище чтобы оно хранило только пока процесс браузера жив

Можно через BroadcastChannel шарить состояние между вкладками. И пока открыта хотя бы одна вкладка, браузер будет помнить.

i7 4n
сафари

полифилл через localStorage. через 500 мс он чистится https://github.com/JSmith01/broadcastchannel-polyfill/blob/master/index.js

Maxim- Автор вопроса

1. Может быть тебе подойдет отчистка по бездействию 30 минут? Это будет в 100 раз проще 2. Можно отслеживать количество активных вкладок. И по onbeforeunload если не осталось других вкладок делать чистку, только не знаю как это сработает если закрыть браузер с несколькими вкладками

Maxim- Автор вопроса
Denis Deniskov
1. Может быть тебе подойдет отчистка по бездействи...

Самая большая проблема это в том что если у пользователя процесс умрет хрома а данные не отчистить … По времени чёркать тоже не пойдёт так как он может и больше 30 минут или меньше

Maxim
Самая большая проблема это в том что если у польз...

Да, ты прав, но в таком случае надо добавить еще код, который проверяет, что только что открытая вкладка первая и также чистить сторадж если там что-то осталось.

Maxim
Самая большая проблема это в том что если у польз...

Ну вот я третий вариант придумал, можно держать какой-то объект(обычный типо const store = {}) в каждой вкладке. И при его изменении синхронизовать его во всех вкладках через BroadcastChannel

Maxim
Самая большая проблема это в том что если у польз...

Когда вкладка закроется соответственно и объект пропадет

Maxim- Автор вопроса
Denis Deniskov
Ну вот я третий вариант придумал, можно держать ка...

Да я думал сделать так чтобы чекал количество открытых вкладок и если их больше n то что то делать.. Наверное так и сделаю спасибо большое всем за советы

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта