我可以访问 react-native-webview 应用程序的 window 对象吗?
Can I access to window object of react-native-webview application?
我可以访问 window react-native-webview 应用程序的对象吗?
我尝试这样做的原因是当我无法返回时退出 android 应用程序。
这是我的代码。
你们能帮我提供任何线索吗?
export default function App (){
useEffect(()=>{
setCurrentUrl('https://google.co.kr')
setTimeout(() => {
SplashScreen.hide();
}, 1000);
if (Platform.OS === 'android') {
BackHandler.addEventListener('hardwareBackPress', goback);
return(
BackHandler.removeEventListener('hardwareBackPress')
)
}
},[])
const [currentUrl, setCurrentUrl]=useState(null)
const webViewRef = useRef(null)
const goback = () => {
webViewRef.current.goBack();
return true
};
const onNavigationStateChange =(webViewState) =>{
setCurrentUrl(webViewState.url)
}
return (
<View style={{backgroundColor:'#fff',flex:1}}>
<SafeAreaView style={{flex:1,}}>
<WebView
style={{flex:1,}}
originWhitelist={['*']}
ref={webViewRef}
source={{ uri: currentUrl }}
onNavigationStateChange={onNavigationStateChange}
/>
</SafeAreaView>
</View>
);
}
您可以使用 postMessage api 在您的应用程序和您的网页之间进行通信。
我可以访问 window react-native-webview 应用程序的对象吗? 我尝试这样做的原因是当我无法返回时退出 android 应用程序。
这是我的代码。 你们能帮我提供任何线索吗?
export default function App (){
useEffect(()=>{
setCurrentUrl('https://google.co.kr')
setTimeout(() => {
SplashScreen.hide();
}, 1000);
if (Platform.OS === 'android') {
BackHandler.addEventListener('hardwareBackPress', goback);
return(
BackHandler.removeEventListener('hardwareBackPress')
)
}
},[])
const [currentUrl, setCurrentUrl]=useState(null)
const webViewRef = useRef(null)
const goback = () => {
webViewRef.current.goBack();
return true
};
const onNavigationStateChange =(webViewState) =>{
setCurrentUrl(webViewState.url)
}
return (
<View style={{backgroundColor:'#fff',flex:1}}>
<SafeAreaView style={{flex:1,}}>
<WebView
style={{flex:1,}}
originWhitelist={['*']}
ref={webViewRef}
source={{ uri: currentUrl }}
onNavigationStateChange={onNavigationStateChange}
/>
</SafeAreaView>
</View>
);
}
您可以使用 postMessage api 在您的应用程序和您的网页之间进行通信。