Jump to content

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


x11

Recommended Posts

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

Ctrl+F5 - для Firefox.

Shift+F5 - для Chrome.

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

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

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

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

Спасибо.

Link to comment
Share on other sites

Загружайте 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 Как быть с кэшем на мобильных браузерах?

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...