import React from 'react'
import {View, Text, StyleSheet} from 'react-native'
import {WebView} from 'react-native-webview'
export const Browser = props => {
webview = null
const changeUrlHandler = event => {
console.log(event)
props.setUrl(event.url)
}
return (
<View style={styles.fix}>
<WebView
source={{ uri: props.url }}
ref={(ref) => (webview = ref)}
onNavigationStateChange={changeUrlHandler}
sharedCookiesEnabled={true} />
</View>
)
}
const styles = StyleSheet.create({
fix: {
flex: 1,
width:"100%",
height:"100%",
}
})
onShouldStartLoadWithRequest = (event) => {
__DEV__ && console.log('event.url = ', event.url);
if (event && event.url && event.url.includes("doubleclick.net")) {
return true;
}
if (event && event.url && event.url.includes("api-maps.yandex.ru")) {
// Linking.openURL(event.url).then().catch(console.log);
return false;
}
if (event && event.url && event.url.includes("intellectmoney.ru")) {
return true;
}
if (event && event.url && !event.url.includes(HOME_URL) && event.url !== "") {
Linking.openURL(event.url).then().catch(console.log);
return false;
}
return true;
};
<WebView
source={{uri: this.url}}
ref={webview => (this.webview = webview)}
injectedJavaScript={INJECTED_JAVASCRIPT}
javaScriptEnabled={true}
onShouldStartLoadWithRequest={this.onShouldStartLoadWithRequest}
}}
/>