Реагируйте на нативную веб-версию iOS, как загрузить локальный html с помощью uri - PullRequest
1 голос
/ 01 апреля 2019

Я пытаюсь запустить локальный HTML-файл в веб-представлении, но он не загружает полный контент.
Я проверил это на родном приложении с тем же html-файлом, и это хорошо видно.

Я не уверен, в чем проблема.

Родной код

@IBOutlet weak var mapView: WKWebView!
    override func viewDidLoad() {
        super.viewDidLoad()
        mapView.uiDelegate = self;
        mapView.navigationDelegate = self;
        let url = Bundle.main.url(forResource: "index", withExtension: "html")!
        mapView.loadFileURL(url, allowingReadAccessTo: url)
        let request = URLRequest(url: url)
        mapView.load(request)
    }

Реагирующий родной код

<WebView
          originWhitelist={['*']}
          onLoad={this.onLoad}
          source={Platform.OS === 'android' ? { uri: 'file:///android_asset/index.html' } : require('../ios/web/index.html')}
          dataDetectorTypes={'none'}
          ref='webview'
          onMessage={e => this.onMessage(JSON.parse(e.nativeEvent.data))}
          onShouldStartLoadWithRequest={this.onShouldStartLoadWithRequest}
          onNavigationStateChange={this.onShouldStartLoadWithRequest}
          injectedJavaScript={patchPostMessageJsCode}
          useWebKit={true}
          />

Скриншот React Native

enter image description here

Собственный скриншот

enter image description here

Пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 02 апреля 2019

попробуйте изменить размер веб-вида так,

import{Dimensions, SafeAreaView, WebView} from 'react-native';

<SafeAreaView style={{flex:1}}>

     <WebView
          originWhitelist={['*']}
          onLoad={this.onLoad}
          source={Platform.OS === 'android' ? { uri: 'file:///android_asset/index.html' } : require('../ios/web/index.html')}
          dataDetectorTypes={'none'}
          ref='webview'
          onMessage={e => this.onMessage(JSON.parse(e.nativeEvent.data))}
          onShouldStartLoadWithRequest={this.onShouldStartLoadWithRequest}
          onNavigationStateChange={this.onShouldStartLoadWithRequest}
          injectedJavaScript={patchPostMessageJsCode}
          useWebKit={true}
          style={{ height: Dimensions.get('window').width.height, width:Dimensions.get('window') , resizeMode: 'cover', flex: 1 }}
          />

</SafeAreaView>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...