web-view加载网络html页面的实现及问题

1. web-view加载网络html页面

<template>
    <view>
        <web-view :src="url" @message="getMessage"></web-view>
    </view>
</template>

<script>
    export default {
        data() {
            return {
                url: 'https://uniapp.dcloud.io/static/web-view.html'
            }
        },
        onLoad(options) {
            if (options && options.url) {
                this.url = options.url;
            }
        },
        methods: {
            getMessage(event) {
                uni.showModal({
                    content: JSON.stringify(event.detail),
                    showCancel: false
                });
            }
        }
    }
</script>

<style>

</style>

2. 报错问题 -(X-Frame-Options 响应头)

  • Google浏览器调试时报错:Refused to display 'URL' in a frame because it set 'X-Frame-Options' to 'DENY'
    报错.png

    页面展示.png

    备注:手机端调试可正常加载网络页面。
  • 分析与解决

3. 部分机型Echarts图表无法加载显示

  • 原因:webview与Echarts兼容问题
  • 解决方案1:安装 ASWebView_V80.0.3987.87.apk 来更新系统浏览器内核,有些机型不能安装成功,原因是android4.4及以下不能修改系统内核,android4.4以后才有修改系统内核的权限。
  • 解决方案2(未验证):DCloud App集成 X5 内核(腾讯浏览服务TBS)说明
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容