Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React native 在react native webview中打开HTML中的链接_React Native_Url_Webview - Fatal编程技术网

React native 在react native webview中打开HTML中的链接

React native 在react native webview中打开HTML中的链接,react-native,url,webview,React Native,Url,Webview,我成功地使用react native webview呈现了一个HTML文件以供查看。当我在一个视图中点击一个链接时,它会在同一个视图的IOS上完美加载。但是这个链接在Android上不起作用。它显示“由于权限被拒绝,无法下载文件”。请提供写入存储器的权限,以便下载文件的 我试图将这行代码添加到AndroidManifest.xml,但它会作为文件下载到手机上,而不是在WebView视图中。我错过了什么 <WebView originWhitelist={['*']} sou

我成功地使用react native webview呈现了一个HTML文件以供查看。当我在一个视图中点击一个链接时,它会在同一个视图的IOS上完美加载。但是这个链接在Android上不起作用。它显示“由于权限被拒绝,无法下载文件”。请提供写入存储器的权限,以便下载文件的

我试图将这行代码添加到AndroidManifest.xml
,但它会作为文件下载到手机上,而不是在WebView视图中。我错过了什么

<WebView
    originWhitelist={['*']}
    source={ Platform.OS === 'ios' 
            ? this.renderHTML(content)
            : this.renderHTMLAndroid(content) 
           }
    domStorageEnabled
    javaScriptEnabled
/>

我找到了一个解决方案。它不会在webview视图中渲染,而是在浏览器中打开链接(适用于Android)。这不是我真正想要的,但至少它是有效的

import { Linking } from 'react-native'

loading = (event) => {
       if (event.url.slice(0,4) === 'http') {
           Linking.openURL(event.url)
           return false
       }
       return true
}
然后在WebView中,添加

onShouldStartLoadWithRequest={ Platform.OS === 'ios'
                               ? null
                               : this.loading
                             }