Jump to content

Как быть с кэшем на мобильных браузерах?


x11

Recommended Posts

На десктопных браузерах все достаточно просто. Если браузер что-то кэширует у себя, то:

Ctrl+F5 - для Firefox.

Shift+F5 - для Chrome.

И страница в браузере уже новой версии.

Но на смартфоне нет возможности нажать такие клавиши. Иногда или даже часто приходится открывать настройки/параметры браузера и очищать данные (кэш). Что-то поменял в программе, перекомпилировал программу, изменил CSS и приходится открывать настройки/параметры браузера и очищать данные/кэш иначе загружается старая страница веб-приложения. Особенно это касается, если что-то меняешь в CSS (CustomCSS).

Может быть можно дать понять браузеру, дать какой-то "сигнал" или "ключ", или "параметр", что данные кэшировать не нужно.

Т.е. как на стадии разработки кэширование полностью отключить, включая и сам браузер?

Спасибо.

Link to comment
Share on other sites

14 hours ago, stas said:

Загружайте css самостоятельно, с параметром 

не понял

 

14 hours ago, stas said:

Касательно customcss не уверен что он не обновляется

в том-то и дело...

Link to comment
Share on other sites

Здравствуйте,

25 minutes ago, x11 said:
14 hours ago, stas said:

Загружайте css самостоятельно, с параметром 

не понял

В секции инициализации модуля можете использовать такой код:

initialization
  UniAddLazyLoader('/yourFolder/yourCSSFile.css?' + FormatDateTime('ddmmyyyyhhmmss', Now) , [upoFolderFiles, upoPlatformDesktop]);

 

Link to comment
Share on other sites

У меня сейчас один общий CSS для проекта, который загружается в секции инициализации серверного модуля:

UniAddCSSLibrary('css/custommob.css', False, [upoFolderFiles, upoPlatformMobile]);

 

Потому что те или иные визуальные компоненты по всему проекту, в разных формах, но они должны выглядеть одинаково.

Т.е. чтобы не дублировать по 5-10 раз одно и то же, вот, например, вот такое:

.x-input-wrap-el {
	border-radius: 5px;
}

 

И теперь вы предлагаете дублировать этот код в каждой отдельной форме, я правильно понимаю?

 

Link to comment
Share on other sites

10 minutes ago, x11 said:

И теперь вы предлагаете дублировать этот код в каждой отдельной форме, я правильно понимаю?

Нет.

По крайней мере, Вы можете переместить в MainForm.

Link to comment
Share on other sites

1 hour ago, Sherzod said:

По крайней мере, Вы можете переместить в MainForm. 

Не до конца понял.

Переместить загрузку custom css именно с помощью UniAddLazyLoader()?

Или переместить UniAddCSSLibrary() из серверного модуля в MainForm?

 

А может можно переместить загрузку в UniMainModule?

Link to comment
Share on other sites

2 minutes ago, x11 said:

Или переместить UniAddCSSLibrary() из серверного модуля в MainForm?

А может можно переместить загрузку в UniMainModule?

Да, Вы можете попробовать.

Link to comment
Share on other sites

заменил UniAddCSSLibrary

на

UniAddLazyLoader('css/custommob.css?' + FormatDateTime('ddmmyyyyhhmmss', Now) , [upoFolderFiles, upoPlatformMobile]);

теперь вообще custommob.css не загружается

Link to comment
Share on other sites

1 hour ago, Sherzod said:

из серверного модуля в MainForm

Попробуйте этот код на данный момент:

procedure TMainmForm.UnimFormCreate(Sender: TObject);
begin
  UniSession.AddJS('Ext.Loader.loadScript("/files/css/custommob.css")');
  ...

end;    

 

Link to comment
Share on other sites

  • x11 changed the title to Как быть с кэшем на мобильных браузерах?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...