Как включить LocalStorage в QML WebView для Android?

Я создаю приложение Qt для Android на базе веб-браузера, которое общается с Emberjs. Однако, похоже, что QML WebView не поддерживает LocalStorage (но поддерживает SessionStorage).

Есть ли способ включить это? Или вы можете помочь мне найти строку в документации, в которой говорится, что LocalStorage не поддерживается в QML WebView, поскольку тот же код работает для iOS?

(Я знаю, что Qt не поддерживает WebEngineView & WebKit для мобильных устройств.)

1 ответ

Как заявлено способом:

WebView отображает веб-контент в приложении QML.

WebView является компонентом, предназначенным для загрузки содержимого из Интернета, и изнутри вы не можете получить доступ к объектам, принадлежащим к окружающей среде (то есть к вашему приложению QML).
В любом случае, вы можете перехватывать запросы с помощью onNavigationRequested сигнал (см. здесь для получения дополнительной информации), таким образом, возможно, вы можете себе представить веб-приложение, которое пытается запросить службу с помощью REST API и приложение, которое перехватывает эти запросы и взаимодействует с локальным хранилищем.

Если честно, взглянув на документацию по Qt 4.8, WebView предложил способ вставки объектов из среды QML, но, похоже, он больше не доступен в Qt 5.5.
В любом случае, я настоятельно рекомендую взглянуть на эти примеры, доступные на веб-сайте Qt: возможно, они могут быть полезны.

Другие вопросы по тегам