react-native-webview无法正确加载本地html文件

发布于 2022-09-12 03:55:18 字数 1325 浏览 17 评论 0

render = () => {
    let source;
    if (__DEV__) {
      source = require('./vendor/Editor/index.html');
    } else {
      source =
        Platform.OS === 'ios'
          ? require('./vendor/Editor/index.html')
          : {uri: 'file:///android_asset/vendor/Editor/index.html'};
    }

    return (
      <WebView
        startInLoadingState
        source={source}
        onMessage={this.handleMessage}
        automaticallyAdjustContentInsets={false}
        style={[
          AppStyles.container,
          styles.container,
          {height: this.state.visibleHeight},
        ]}
      />
    );
  };

最后在安卓端调试却变成了这样,webview里显示的全是html源码

图片.png

写了个简单的页面还是不行...

source = {require('./bar/test.html')}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>Title</h1>
    <div>
        <p>Foo</p>
    </div>
</body>
</html>

图片.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

倚栏听风 2022-09-19 03:55:18

将HTML页面复制到android/app/src/main/assets文件夹


source =
  Platform.OS === 'ios'
    ? require('../Static.bundle/**html')
    : {
        uri: 'file:///android_asset/**html',
      };

export default class webDetail extends Component {
  render() {
    return <WebView originWhitelist={['*']} source={source} />;
  }
}
梦醒时光 2022-09-19 03:55:18
source={{ html: html, baseUrl: '' }}

或者

source={require("./file.html")}
数理化全能战士 2022-09-19 03:55:18

老铁,找到解决办法了么?一定要将资源文件放到ios和android的工程目录下么

鹤仙姿 2022-09-19 03:55:18

试试

domStorageEnabled={true}
javaScriptEnabled={true}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文