Автономное веб-приложение для распространения в pendrives (только для Windows)? - PullRequest
1 голос
/ 18 октября 2011

Мы пытаемся распространять основной HTML-файл с некоторыми ссылками на PDF-документ на USB-накопителе в рекламных целях. Идея состоит в том, что автозапуск открывает этот HTML-код в браузере по умолчанию. Тем не менее, это может быть не очень хорошей идеей, поскольку она будет выглядеть очень любительской, и нам придется полагаться на технологию браузера по умолчанию (которая, к сожалению, имеет хорошие шансы быть IE6 / 7!)

Мы исследовали несколько альтернатив, но мы не можем найти тот, который действительно соответствует тому, чего мы пытаемся достичь:

  1. Призма Mozilla
    Хотя кажется, что он разработан с учетом автономных веб-приложений, исполняемый файл создает файлы в пользовательском каталоге AppData и сложно настроить пути по умолчанию. Кроме того, Firefox не имеет программы просмотра PDF по умолчанию, поэтому нам придется зависеть от программы просмотра PDF по умолчанию (например, Adobe Reader)
  2. Mozilla Chromeless
    Поскольку Prism неактивен, идея все еще развивается с Chromeless, что позволяет разработчику создавать интерфейс браузера с базовым HTML / JS / CSS. Основная проблема здесь в том, что сборка почему-то не загружает HTML, все, что отображается, это серый iframe . Я не уверен, что это только я, потому что на странице вопросов ничего нет.
  3. Портативное приложение
    Мы могли бы добавить переносную версию Firefox или Chrome и настроить XUL для Firefox или открыть Chrome в режиме приложения .

Преимущество Firefox в том, что он поддерживает относительные пути (resource://), но не имеет встроенного средства просмотра PDF. Chrome имеет очень хороший и легкий просмотрщик PDF, и встроенный режим приложения является для нас очень полезной функцией, но я не могу найти, как открыть локальный путь без обычного абсолютного пути (file:///C:/), так как мы не не знаю, что такое буква диска.

Кто-нибудь придумал, как справиться с такого рода проблемами? Спасибо.

1 Ответ

1 голос
/ 06 февраля 2015

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

Решение, с которым я сейчас работаю, - это node-webkit.

Вы можете относиться к нему как к переносной версии chrome, однако она исключает относительнуюпуть к точке входа вашего приложения, примерно на 40 МБ меньше, и гораздо более настраиваемый, чем режим --app chrome (который вообще не настраивается, если я правильно помню).

Github & Download: https://github.com/rogerwang/node-webkit#downloads

Подробное руководство: http://thejackalofjavascript.com/getting-started-with-node-webkit-apps/

Мое предложение по использованию для Windows:

  1. Сначала создайте пакет приложения, как описано в руководстве, указанном выше
  2. Чтобы нод-wekit загрузился с вашим приложением, вам нужно запустить его следующим образом:

    nw.exe app.package

Где nw.exe находится вкорень заархивированной папки, которую вы скачали, и app.package - это zip-файл (может иметь любое имя), содержащий данные вашего приложения и package.json.

Для этого можно использовать файл BAT, содержащий(исправленный) вызов выше и VBS-файл, содержащий что-то вроде этого:

CreateObject("Wscript.Shell").Run "cmd /c launchNW.bat", 0, true

launchNW.bat - имя вашего BAT-файла.Теперь запустите файл VBS;должно появиться окно, содержащее ваше веб-приложение, без появления окна командной строки.

Завершите чтение связанного руководства, чтобы узнать больше о параметрах настройки, таких как скрытие пользовательского интерфейса браузера и т. Д.
...