gpt4 book ai didi

android - 在 React Native 中使用其他域重定向 WebView

转载 作者:行者123 更新时间:2023-11-29 11:35:19 25 4
gpt4 key购买 nike

我正在尝试将链接从另一个域重定向到设备的默认浏览器。

例如:

我试了很多东西,还是不行。我考虑将 onNavigationStateChange 与链接一起使用。

感谢您的帮助。

import React from 'react';
import { StyleSheet, View, WebView } from 'react-native';
import { Constants } from 'expo';


export default class App extends React.Component {

render() {
return (
<View style={styles.container}>
<View style={styles.statusBar} />
<WebView
source={{uri: 'https://example.com'}}
renderError={() => alert('Merci de vérifier votre connexion Internet', 'Internet non disponible')}
/>
</View>
);
}
}

const styles = StyleSheet.create({
container: {
flex: 1,
},
statusBar: {
backgroundColor: "#1D3B57",
height: Constants.statusBarHeight,
}
});

最佳答案

解决方案一:

onNavigationStateChange(e)
{
if(e.url !== this.state.oldUrl)
{
// If url changed
if(/youtube.com/.test(e.url)) // RegExp
{
this.refs.WEBVIEW_REF.goBack()
Linking.canOpenURL(e.url).then(supported => {
if (supported) return Linking.openURL(e.url)
})
}
this.setState({ oldUrl: e.url })
}
}

解决方案 2:

考虑调查 this PR将原生 shouldOverrideUrlLoading 方法暴露给 JS。执行此操作可能有点复杂。

关于android - 在 React Native 中使用其他域重定向 WebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49833226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com