【问题标题】:RN Webview not loading images from project level folderRN Webview 未从项目级文件夹加载图像
【发布时间】:2018-05-21 00:39:48
【问题描述】:

我有一个加载本地 html 的 webview,里面有一些 js 脚本。除了位于 android 或 ios 文件夹之外的图像之外,这一切都运行良好。

当 html 文件不在 android 和 ios 文件夹中时,它会解析图像,但不是 .html 必须在的位置。

网络视图:

<WebView
    source={{uri: isAndroid?
    'file:///android_asset/webviews/map.html'
    :'./external/widget/map.html'}}
    ref={( webView ) => this.webView = webView}
    onMessage={() => this.onWebViewMessage()}
    onNavigationStateChange={() => this.trackMap(this.state.dados)} /> 

html文件内的脚本标签(android案例)

var marker = new google.maps.Marker({
            position: posicao,
            icon: '../../../../../external/images/' + icon.toString() + '_' + direction + '.png'),
            map: mapa
          });

也试过了:

'myapp/external/images/...'

'file:///external/images/...'

项目结构:

myapp
|
|
|_android
|  |_ app
|     |_ src
|        |_ main
|           |_ assets
|              |_ webviews
|                 |_ map.html
|  
|_ external
|  |_ images
|     |_ 1_north.png
|     |_ 2_east.png 
|     |_ <icon>_<direction>.png
|      ...

如何获取这些图片路径?我真的必须将图像放在 res android 文件夹和相关 ios 文件夹中吗?

【问题讨论】:

  • 到目前为止,解决方法是将外部图像放在 android 文件夹中的资产中。

标签: react-native webview imagesource


【解决方案1】:

你试过icon: '../../../../../../../external/images/ + ...'

即使这是有效的,你也应该使用 react native map 而不是 webview。在我看来,这是一种非常糟糕的做法。

【讨论】:

  • 感谢您的回答。好吧,我不相信这是'../'计数的问题。我也尝试将图像放在 android 目录中,但它仍然无法正常工作。确实,使用 webview 而不是 rn-maps 是一种不好的做法,但我的客户需要他自己的地图
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-24
  • 1970-01-01
  • 2019-12-09
相关资源
最近更新 更多