【发布时间】:2019-04-15 04:09:28
【问题描述】:
尝试在 ReactNative 中的 WebView 中显示图像(使用 Expo)。这样做是为了允许图像缩放。
使用带有 source={{ uri: this.state.imageUrl }} 的 webview,这是一个 s3 存储桶图像位置。即——以.jpg结尾
按照有类似问题的人的建议,我已将混合内容模式设置为“始终”,并将 javascriptEnabled 和 domStorage 设置为 true,将样式设置为 flex:1 等。
我的 android 只显示一个白页,但 iOS 显示图像很好,所以 url 不是问题。
我知道 RN 宣传 Webview 即将被弃用并使用 react-native-webview。但是当我们使用 Expo 时,这不是一个选项,因为使用 react-native-webview 需要链接,而这不能通过 expo 完成。
我在使用 s3 存储桶时是否遗漏了什么,或者是否有其他人遇到过类似的问题,他们已经设法解决了这个问题?不知道还能尝试什么,在应用程序的其他地方使用了带有 google drive 前缀的技巧来在 webview 中显示 PDF,但在这种情况下不起作用。并且使用混合内容模式并没有解决任何问题。
<WebView
source={{ uri: this.props.map.source }}
startInLoadingState
javaScriptEnabled
style={{ flex: 1}}
scalesPageToFit
javaScriptEnabled
domStorageEnabled
originWhitelist={['*']}
mixedContentMode='always'
/>
只显示格式..上面的网址不起作用
【问题讨论】:
-
你能分享一些代码吗?
-
当然,没有太多可分享的,但我会将其添加到主帖中。这只是正在使用的 webView 组件。从我读过的内容来看,添加混合内容模式应该适用于 Android。图像在 iOS 上显示得很好
标签: react-native amazon-s3 webview expo