Автор Тема: Shiny apps  (Прочетена 1518 пъти)

kuunlaaksot

  • Напреднали
  • *****
  • Публикации: 177
  • Distribution: CRUX
    • Профил
Shiny apps
« -: Apr 28, 2024, 11:42 »
здравейте,

някой от вас има ли опит в писането на Shiny apps (https://shiny.posit.co/), които предоставят web GUI -- вървят в браузъра?

интересува ме, може ли да се направи така, че програмата да различава затварянето на браузъра от обикновен refresh (F5).
Активен

lunarvalleys

4096bits

  • Напреднали
  • *****
  • Публикации: 6339
    • Профил
Re: Shiny apps
« Отговор #1 -: Apr 28, 2024, 12:44 »
За първи път разбирам за Shiny.

Доколкото ми е известно с аматьорските си познания, Jacascript не може да направи разлика между рефреш на страницата или затваряне на таба или браузъра. Случвало ми се е, когато рефрешна с CTRL+F5 ( пълен рефреш, без кеш и четене на бисквитки или нещо друго ), да ме пита, дали наистина искам да напусна страницата. Което аз не правя, разбира се, само рефрешвам.

Все пак, можеш да предприемеш някакви дейсвия, като следиш за beforeunload.
Код:
window.addEventListener('beforeunload', (event) => {
  // Тук си правиш твоите неща.
  event.preventDefault();
  event.returnValue = ''; // това е за да се предотврати действието по подразбиране на beforeunload. За съвместмост. Тествай, дали може да го разкараш
});
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

kuunlaaksot

  • Напреднали
  • *****
  • Публикации: 177
  • Distribution: CRUX
    • Профил
Re: Shiny apps
« Отговор #2 -: May 01, 2024, 19:42 »
За първи път разбирам за Shiny.

Доколкото ми е известно с аматьорските си познания, Jacascript не може да направи разлика между рефреш на страницата или затваряне на таба или браузъра. Случвало ми се е, когато рефрешна с CTRL+F5 ( пълен рефреш, без кеш и четене на бисквитки или нещо друго ), да ме пита, дали наистина искам да напусна страницата. Което аз не правя, разбира се, само рефрешвам.

Все пак, можеш да предприемеш някакви дейсвия, като следиш за beforeunload.
Код:
window.addEventListener('beforeunload', (event) => {
  // Тук си правиш твоите неща.
  event.preventDefault();
  event.returnValue = ''; // това е за да се предотврати действието по подразбиране на beforeunload. За съвместмост. Тествай, дали може да го разкараш
});

> За първи път разбирам за Shiny.
Shiny е удобно нещо, защото сравнително лесно можеш да си направиш графичен интерфейс. Че и да го качиш на сървър.

> аматьорските си познания, Jacascript не може да направи разлика между рефреш
е, поне имаш някакви... щото аз -- хич. Това, че не може да направи разлика, го научих по трудния начин.

Мерси много за примерния код, ще видя какво може да се направи. [_]3
Активен

lunarvalleys

4096bits

  • Напреднали
  • *****
  • Публикации: 6339
    • Профил
Re: Shiny apps
« Отговор #3 -: May 01, 2024, 20:29 »
Много зависи от приложението, което искаш да правиш.
В примерния код например, можеш да предприемеш действия, като да запазиш някакви потребителски настройки или някакво текущо състояне ползвайки window.sessionStorage.
По този начин при рефреш на страницата, няма да се заубят. Браузъра обаче ще ги заличи при затваряне на самия него или на таба.

window.localStorage ще ти запази нещата дори след затваряне на таба или браузъра. Ще ги запази локално някъде на диска. За разлика от бисквитките, тези данни нямат срок след който се затриват. Браузъра не ги трие автоматично. Ще ги заличи изрично с някакъв Javascript например написан от теб или ако почисти кеша на браузъра. Обема, който можеш да съхраниш е по-голям от този на window.sessionStorage.

Имаш опции. А Javascript е сравнително лесен. Имам трудности с ореинтирането в API-то на браузърите и какво мога изобщо да правя. Изглдах между 30 и 40 часа на един дъх( не помня точно колко бяха всики ) уроци в Youtube и се ориентирах. Ако имаш опит с коденето на друг език, безпроблем почти ще се оправиш, свханеш ли синтаксиса и как стават различните неща конкретно тук.

Видях, че Shiny може да се ползва с R или Python. От R си нямам и идея, но Python спокойно мога да го срвавня с JS по леснота на ползване.


Докато бях в банята ми хрума още, че можеш също да експортнеш нещо към файл посредством Blob.

« Последна редакция: May 01, 2024, 20:46 от 4096bits »
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Clipper apps
Хардуерни и софтуерни проблеми
kostadinz 1 2738 Последна публикация Dec 16, 2003, 00:03
от vtab
KDE Themes for GTK APPS
Настройка на програми
JOKe 4 2641 Последна публикация Mar 04, 2005, 20:02
от JOKe
x-apps ot console kato root
Настройка на програми
kostadinz 10 4136 Последна публикация Mar 15, 2005, 18:37
от kostadinz
nvidia - черен екран в 3д apps понякога
Настройка на хардуер
Boom_Head 4 2968 Последна публикация Feb 11, 2006, 19:42
от nv
Миграция на имейл към Google Apps
Хардуерни и софтуерни проблеми
nov_chovek 2 2795 Последна публикация Feb 27, 2012, 14:01
от nov_chovek