«Windows-приложение» на javascript с чтением файлов
Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті
А что если все таки не обходить гору прогуглив о возможностях реализации, а взобраться или пойти на пролом, так как «лень» переключаться с javascript.
1. За оболочку/среду для локального выполнения html-страницы с javascript берем portable версию браузера chrome.
GoogleChromePortable_38.0.2125.111.zip
2. Распаковываем и размещаем файлы в папке \chrome
\chrome
\App
\Data
\Other
\GoogleChromePortable.exe
\help.html
3. Т.к. «приложение» будет размещено на сетевом ресурсе и из одной точки будет запускаться/использоваться несколькими пользователями, переводим portable версию браузера chrome в «многопользовательский режим одновременного использования».
Копируем файл (делаем копию)
chrome\Other\Source\GoogleChromePortable.ini
в
chrome\GoogleChromePortable.ini
Модифицируем его, меняя значение RunLocally с false на true.
RunLocally=true
; Forces the profile to be copied to the local computer, as if the portable app
; is run from a CD. The profile will be copied back to the portable device
; afterwards (minus cache files).
Если этого не сделать, последующие пользователи после запуска браузера первым пользователем из той же точки размещения не смогут запустить chrome из-за блокировки профиля.
4. Запускаем chrome — GoogleChromePortable.exe.
И включаем оповещения, они потребуются нам/приложению для побудки уснувшего юзера, когда окно приложения будет скрыто от него или свернуто им.
Настройка и управление Google Chrome \ Настройки \
Личные данные \ Настройки контента \
Оповещения \ галочку на — Разрешить всем сайтам отображать оповещения
и клик на Готово.
5. Т.к. необходим будет доступ к локальным файлам по сети с помощью files:///, особенно к файлам за периметром точки размещения/каталога приложения, запускаем все это дело через run.cmd в виде приложения в режиме разработчика. Скрывая попутно адресную строку, чтобы юзер не полез в инет, не разобравшись в каком из браузеров он находтся, в своем локальном или в нашей портейбл версии.
start %~dp0chrome\GoogleChromePortable.exe —allow-file-access-from-files —window-size=900,600 —app=%~dp0TCPFossLogViewer.htm
Набросок с демонстрацией работы и со скриншотом получившегося можно скачать по ссылке — mymath.in.ua/TCPFossLogViewer.zip (72 Мб).
Из того что удалось решить:
— просмотрщик может читать/отслеживать файл лога вне своего каталога размещения;
— файл лога читается/дочитывается от последней точки чтения просмотрщиком только в том случае, если он изменился;
— уведомления в трее (не свои конечно по реализации).
15 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів