Мы используем Webview в нашем собственном проекте реакции для загрузки URL-адреса и отображения некоторой веб-страницы.Загружается успешно.Но в Android возникает проблема.
Требуется некоторое время для загрузки в iOS и Android, но в Android скрывается панель навигации и кнопка назад, но в iOS навигация отображается всегда.
Но, если я прокомментирую код веб-просмотра, заголовок навигации и кнопка "Назад" сразу же будут показаны.
Я попытался использовать какое-то значение флага, но оно вызывает ошибки.
constructor(props) {
super(props);
this.state = {
shouldShowWebView: false,
};
componentDidMount() {
this.setState({
shouldShowWebView: true,
});
}
render() {
const injectedJs = `
window.postMessage(window.location.href);
`;
const {
shouldShowWebView,
}
<SafeAreaView style={{ flex: 1, backgroundColor: '#fff' }}>
<View style={styles.container}>
<View style={styles.headerView}>
<View style={styles.navigationActionBar}>
<View style={styles.backButtonContainer}>
<IconButton
style={styles.backBtn}
image={images.back}
pressed={handlerGo}
/>
</View>
<WebView
source={{ uri: 'someURL' }}
style={styles.webView}
onLoad={() => this.hideSpinner()}
injectedJavaScript={injectedJs}
scalesPageToFit
onNavigationStateChange={this.handleNavigationStateChange}
ref={(ref) => { this.webview = ref; }}
onError={(err) => {
}}
/>
</View>
</SafeAreaView>
);
}
В классе стилей
webView: {
backgroundColor: 'white',
height: '75%',
width: '100%',
marginBottom: 20,
},
Мое требование: не следует скрывать панель навигации и кнопку возврата, которая нормально работает в iOS.
Проблема возникает только на устройствах Android.
Есть предложения?