2015-11-09 4 views
4

Я изучаю с помощью CEF в новом рабочем приложении, в котором я хочу отобразить пользовательский интерфейс с HTML5/js. Однако я не хочу, чтобы модель была типичным веб-приложением, которое просто отображается во встроенном браузере (т. Е. Извлекает ресурсы с удаленного сервера, например, на веб-страницу). В принципе, я хочу иметь настольное приложение, которое поставляется в комплекте со всеми HTML и сценариями, необходимыми для визуализации пользовательского интерфейса, и полностью функционирует в автономном режиме.Использовать CEF офлайн без appcache

Мой вопрос: способен ли CEF делать это более или менее из коробки? Или мне нужно написать кучу пользовательского кода для обработки и рендеринга локальных ресурсов или встраивания локального веб-сервера? Простым примером может быть создание кнопок пользовательского интерфейса и вывод для основного приложения калькулятора (хотя планируемое приложение намного сложнее). Как бы я начал подходить к этому?

Я также рассматриваю Electron как возможное решение. Похоже, что он больше ориентирован на то, что я хочу делать (создавайте пользовательский интерфейс с веб-технологиями, но не обязательно подключаясь к чему-либо). Однако у нас есть некоторые библиотеки C++, которые нам нужно интегрировать, и я считаю, что это было бы проще с CEF, чем с Electron.

Оглядываясь, кажется, что CEF поддерживает appcache для так называемых «офлайн-приложений». Тем не менее, я не могу использовать его из-за numerous problems. Также кажется, что appcache is dying, поэтому я бы не стал привязываться к этому тонущему кораблю. К сожалению, service worker не совсем готов к прайм-тайму.

+0

Это возможно. Либо вы можете использовать фабрику пользовательских схем и сами поставлять ресурсы (в основном, сопоставляете какой-то файл rc: // 100 в файл 100.html), либо загружаете HTML-файлы и поставляете их в памяти. –

ответ

2

См. Руководство CEF General Usage под номером Request Handling для двух поддерживаемых методов обработки пользовательских запросов.

https://bitbucket.org/chromiumembedded/cef/wiki/GeneralUsage.md#markdown-header-request-handling

что ищете действительно возможно из коробки и относительно легко реализовать. Пример приложения cefclient имеет рабочие примеры.

https://bitbucket.org/chromiumembedded/cef/src/694b45717c971a0bb639f555b640d313fc15ccc8/tests/cefclient/?at=master

 Смежные вопросы

  • Нет связанных вопросов^_^