f***@163.com
f***@163.com
  • 发布:2020-05-09 10:17
  • 更新:2022-05-16 14:41
  • 阅读:5395

【报Bug】uniapp H5端引入uni.webview.1.5.2.js报错

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: window10

HBuilderX类型: 正式

HBuilderX版本号: 2.6.16

浏览器平台: Chrome

浏览器版本: 79.0.3945.130(正式版本) (64 位)

项目创建方式: HBuilderX

操作步骤:

奖项目运行到浏览器在控制台可以看到报错信息

预期结果:

能够正确调用uni.getEnv
控制台显示 当前环境:{"h5":true}

实际结果:

(index):23 Uncaught TypeError: uni.getEnv is not a function
at HTMLDocument.<anonymous> ((index):23)
at HTMLDocument.l (uni.webview.1.5.2.js:1)

bug描述:

在uniapp的h5端的自定义模板中引入https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js后,调用uni.getEnv报错

<script type="text/javascript" src="https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js"></script>  
<script>  
    document.addEventListener('UniAppJSBridgeReady', function() {  
        console.log(1111);  
        uni.getEnv(function(res) {  
            console.log('当前环境:' + JSON.stringify(res));  
               });  
        });  
</script>

以上代码在普通html页面能够正常运行,在uniapp h5端不行

2020-05-09 10:17 负责人:DCloud_uniAD_HDX 分享
已邀请:
小雄Milo

小雄Milo

uni-app项目 引入uniapp h5项目 是需要在main.js引入的,不能在index.html加标签

main.js 引入

import uniwebview from './static/js/uni.webview.1.5.2.js'

任意页面就可以用uni对象webView与父项目app通信了
console.log(uni.webView)
uni.webView.getEnv(function(res) {
console.log('当前环境:' + JSON.stringify(res));
});

  • f***@163.com (作者)

    好的,谢谢

    2022-06-01 10:28

  • 栉风

    uni.webview.1.5.2.js没有export怎么用啊

    2023-06-30 09:41

f***@163.com

f***@163.com (作者) - 随心

将地址引入到uniapp的webview中,依然报错

DCloud_uniAD_HDX

DCloud_uniAD_HDX

没有复现问题,请提供一个简单工程

  • f***@163.com (作者)

    我在示例代码那传的有附件,是个demo

    2020-05-11 12:09

  • f***@163.com (作者)

    另外,我编辑这个帖子的时候,提交的时候提示我请选择手机型号,无法保存编辑啊

    2020-05-11 12:10

  • f***@163.com (作者)

    是不是看不到附件?

    2020-05-12 10:13

  • DCloud_uniAD_HDX

    回复 f***@163.com: 附件中是个空模板,没有相关代码

    2020-05-12 18:53

  • f***@163.com (作者)

    回复 DCloud_uniAD_HDX: 有啊,我下载下来看拉,index.html里头有啊,直接用HBuilder运行到浏览器,看浏览器的控制台就可以看到报错信息啊.在manifest.json文件中把index.html设置成模板

    2020-05-13 13:42

s***@163.com

s***@163.com

楼主解决了吗?我们的项目也遇到这个问题,H5端也无法引入uni.webview.1.5.2.js。如果楼主有解决,还请分享一下解决方法。

s***@163.com

s***@163.com

@DCloud_UNI_HDX 请问这个问题怎么解决啊?

chenli

chenli

应该是h5端影响了uni这个实例了。

DCloud_uniAD_HDX

DCloud_uniAD_HDX

DCloud_uniAD_HDX

DCloud_uniAD_HDX

<!DOCTYPE html>  
<html lang="zh-CN">  
  <head>  
    ...  
  </head>  
  <body>  
    <noscript>  
      <strong>Please enable JavaScript to continue.</strong>  
    </noscript>  
    <div id="app"></div>  
    <!-- built files will be auto injected -->  
  </body>  
  <!-- uni 的 SDK -->  
  <script type="text/javascript" src="https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js"></script>  
  <script>  
    document.addEventListener('UniAppJSBridgeReady', function() {  
      uni.webView.getEnv(function(res) {  
        console.log('当前环境:' + JSON.stringify(res));  
      });  
    });  
  </script>  
</html>  
  • [已删除]

    感谢大佬

    2020-08-06 12:05

  • f***@163.com (作者)

    回复 [已删除]: 收到

    2020-08-06 14:37

  • StarSky

    大佬,我将uniapp打包的h5引入此sdk,在app的nvue里面还是监听不到@onPostMessage里面接受的参数,没有反应,h5我也是打包后放到服务器上面的

    2021-06-28 18:17

  • 栉风

    回复 StarSky: 兄弟解决了吗,遇到同样的问题了

    2023-06-29 17:21

要回复问题请先登录注册