WKWebView и XHR

В настоящее время работает над мобильным приложением в Cordova и начал разработку/тестирование на Android. Все, кажется, работает хорошо и, как ожидается, на платформе Android. При переходе на iOS у нас начались проблемы. Решил пойти с плагином WKWebView, и это, казалось, помогло с некоторыми вещами, однако, я использую сервер для извлечения данных через API, и я больше не могу. До использования плагина WKWebView API вызывался и правильно загружал информацию. Я использую access originв config.xml для доступа к этому API. Основная причина, по которой мы не можем вернуться к не использованию WKWebView, заключается в том, что были некоторые странные проблемы рендеринга и прокрутка не была прокруткой «throw/toss». Вы должны были постоянно проведите пальцем «вверх» или «вниз», чтобы заставить его двигаться.

Было интересно, если кто-то здесь может иметь представление о том, как использовать плагин WKWebView, загрузка локального сервера для обслуживания wwwфайлов из (mine is localhost:0), а также использовать access originдля доступа к API.

Мой config.XML

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.test.testmobile" version="1.0.0" >
<name>Test</name>
<description>
Mobile App for Android and iOS
</description>
<author email="test@test.com" href="test.com">
test
</author>
<content src="http://localhost:0" />
<access origin="http://10.1.0.215:6002" />
<platform name="android">
<allow-intent href="market:*" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
</platform>
<plugin name="cordova-plugin-whitelist" spec="1" />
<feature name="CDVWKWebViewEngine">
<param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
<preference name="AlternateContentSrc" value="http://localhost:0" />
</widget>

1 ответ

  1. Я использую сервер для извлечения данных через API, и я больше не могу.

    Предполагая, что этот API находится на внешнем сервере, к которому вы обращаетесь с AJAX/XHR, ответ сервера должен содержать заголовки CORS для wkwebview, чтобы принять его (см. Эту проблему Cordova ).

    Основная причина, по которой мы не можем вернуться к не использованию WKWebView, заключается в том, что были некоторые странные проблемы рендеринга и прокрутка не была прокруткой «throw/toss». Вы должны были постоянно проведите пальцем «вверх» или «вниз», чтобы заставить его двигаться.

    Если WKWebView с Cordova становится невыносимым (вот список известных проблем), вы можете рассмотреть iScroll как решение для прокрутки собственного ощущения в UIWebView.