Как сделать что бы popup не обрабатывался при каждом новом browserAction?
Привет тосты! Вопрос к тем кто делал расширения для Chrome. Как сделать что бы popup не обрабатывался при каждом клике по расширению. Например, кликнул по иконке расширения, вывылился popup, обработался, допустим там лента новостей, предположим проскролил ты до 100500 новости и случайно кликнул вне окна расширения, оно соответсвенно закрылось, ты опять открываешь, и popup повторно обрабатывается, то есть показывает не на том мест на котором был закрыт, а по новой. Как этого избежать ?
Запоминать позицию скролла в localStorage.
При закрытии браузера - стирать.
И первый рендр popup можно тоже сохранить.
Это всё относится к логике JS extension
В настройки сделать галку ибо ни всем это понравится.
хотелось бы именно сохранить то что уже обработано, вы не могли бы в сторону JS Exteption меня направить?) Я не совсем понял о чем идет речь. Пожалуйста.
Ну например. У вас идёт запрос ленты новостей ни при каждом клике по иконке, а по определённому промежутку времени. Вам даже не обязательно делать html вёрстку ленты в скрипте popup, а прям в фоновом скрипте расширения, откуда и идут запросы на ленту, и сохранять эту вёрстку в localStorage.
Можно напрямую сохранять через localStorage['ключ_вёрстки_ленты'], можно использовать API
Я делал свою обработку https://github.com/ProjectSoft-STUDIONIONS/Demiart...
При запуске popup вы проверяете, заполнен ли ключ, в котором хранится вёрстка или нет и просто вставляете её в нужный вам контейнер.
Когда сохраняете позицию скролла. Вставили контент - прокрутили к позиции. Перепписали контент - записали позицию скролла 0.
Надеюсь я понятно объяснил.
да, все понятно, но не будет ли такой метод тормозить? Все же это расширение, не думаю что людям понравится что если из-за него у них хром начнет лагать
rogiivs, как раз оптимизацию я и предлагаю.
Вам всё-равно строить лист новостей и без разницы, где это будет происходить. А вот построение листа в popup как раз заметно тормознёт.
Я не настаиваю ибо тоже могу ошибаться. Тут нужно устраивать тесты.
Главное - вы поняли направление.