【问题标题】:Open link in a HTML in react native webview在反应原生 webview 中打开 HTML 中的链接
【发布时间】:2019-09-12 07:42:57
【问题描述】:

我使用 react-native-webview 成功渲染了一个 HTML 文件以供查看。当我单击视图中的链接时,它会在同一个视图中完美地加载到 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
/>

【问题讨论】:

    标签: react-native url webview


    【解决方案1】:

    我找到了解决方案。它不会在 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
                                 }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-12
      • 1970-01-01
      • 1970-01-01
      • 2019-07-21
      相关资源
      最近更新 更多