我成功渲染了HTML文件以使用react-native-webview进行查看。当我单击视图中的链接时,它可以完美地加载到同一视图的IOS上。但是该链接在Android上不起作用。它显示“由于拒绝权限,因此无法下载文件。请提供写入存储的权限,以便下载文件
我试图将这行代码添加到AndroidManifest.xml <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
中,但是它作为文件下载到手机中,而不是从WebView的角度下载。我想念什么?
<WebView
originWhitelist={['*']}
source={ Platform.OS === 'ios'
? this.renderHTML(content)
: this.renderHTMLAndroid(content)
}
domStorageEnabled
javaScriptEnabled
/>
答案 0 :(得分:0)
我找到了解决方案。它不会在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
}