Я не могу открыть свое размещенное веб-приложение с помощью WebView, но только в InAppBrowser (Кордова - PhoneGap) - PullRequest
0 голосов
/ 28 мая 2020

Я прочитал много сообщений, но все еще не могу решить эту проблему: мне нужно открыть свое размещенное веб-приложение и позволить ему использовать некоторые функции устройства. Я знаю, что должен открывать ссылку в WebView, а НЕ в InAppBrowser, поскольку последний не имеет доступа к Cordova API.

В config. xml Я попытался добавить:

<access origin="*" subdomains="true" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-navigation href="https://*"/>

Но никто из предыдущих не решил мою проблему. Я также попытался добавить тот же домен с указанной шириной c, например:

 <access origin="example.com"  /> 
 <access origin="*.example.com"  /> 
 <allow-intent href="http://example.com/*" /> 
 <allow-intent href="https://*.example.com/*" /> 
 <allow-navigation href="https://example.com/*"/>
 <allow-navigation href="https://*.example.com/*"/>

с тем же результатом.

Я попытался также использовать CSP для заголовков, например

<meta http-equiv="Content-Security-Policy" content="default-src 'self' 'unsafe-inline' example.com; style-src 'self' 'unsafe-inline'; media-src *" />

Ничего не делать.

В моем локальном индексе. html, я открываю ссылку с помощью

window.open('https://example.com/myurl', '_self', 'zoom=no'); 

Примечание 1: я должен сказать, Я ДУМАЮ, что url открыт в InAppBrowser, так как я не могу получить доступ ко многим API Cordova (например: размещенное приложение не видит "navigator.app"), но я не уверен. Все, что я могу сказать, это то, что когда я открываю ссылку, я вижу вверху адресную строку (внутри приложения, а не в системном браузере) и что я не могу получить доступ к API Cordova. Есть ли какой-нибудь другой тест, который я могу сделать, чтобы узнать, открыты ли ссылки с помощью WebView или InAppBrowser?

Примечание 2. Обычно я тестирую свое приложение в приложении для разработчиков PhoneGap. Если я создаю приложение с помощью онлайн-инструмента Adobe, я не вижу адресной строки, но я все еще не могу получить доступ к Cordova API.

Пожалуйста, помогите мне, так как я не знаю, что я могу попробовать еще . Спасибо.

...