六界仙尊
六界仙尊
  • 发布:2025-07-17 00:44
  • 更新:2025-09-11 01:44
  • 阅读:780

关于uni.webview 提示 uni is not defined 或者 uni[e] is not a function 问题

分类:uni-app

使用命令行创建的H5项目

项目里有一个webview页面 大致代码如下 (截取部分)

<template>  
    <view :style="themeColor()">  
        <u-icon name="arrow-left" class="navigate-back" @click="navigateBack"></u-icon>  
        <web-view :src="src"></web-view>  
    </view>  
</template>  

<script setup lang="ts">  
import { onLoad, onShow } from '@dcloudio/uni-app'; // 使用 uni-app 提供的生命周期  
import { ref, getCurrentInstance, onMounted as vueOnMounted } from 'vue'; // 从 vue 导入 onMounted  
import { redirect } from '@/utils/common';  

使用这个webview打开网络html链接,html页面内引入了 uni.wenview.js 如下图

本地用HX运行H5项目,通过webview打开网页html页面,点击html页面的商品,可以跳转到uniapp项目内部的商品页面

用命令行打包H5香米,部署线上,通过webview打开网页html页面,点击html页面的商品,就会提示提示 uni is not defined 或者 uni[e] is not a function 问题,
https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js
1.5.2和1.5.6的js都尝试过

所以是 H5不支持这种 还是不用hx打包的不支持。这个项目不兼容HX打包 打包会报错

2025-07-17 00:44 负责人:无 分享
已邀请:
蔡cai

蔡cai - 开发的插件:https://ask.dcloud.net.cn/article/41539

你是什么端内嵌,微信小程序内嵌还是app内嵌?

  • 六界仙尊 (作者)

    uniapp打包的H5 通过webview打开网络html文件

    2025-07-17 10:11

  • 蔡cai

    回复 六界仙尊: h5内嵌h5?

    2025-07-17 10:20

  • 六界仙尊 (作者)

    回复 蔡cai: 是 ,本地可以,打包后的不可以;外部的H5是三方的html单页,整合很麻烦,所以

    2025-07-17 11:02

  • 蔡cai

    回复 六界仙尊: 没试过html用这个的,看有没有遇到的

    2025-07-17 13:43

DCloud_UNI_yuhe

DCloud_UNI_yuhe

你贴的图片,是报错位置的代码吗?

  • 六界仙尊 (作者)

    报错的是第二张图代码里 跳转的地方 提示uni未定义

    2025-07-17 21:57

  • DCloud_UNI_yuhe

    回复 六界仙尊: 看起来是 maohao.html 的 handlegoodtransfer

    2025-07-18 11:00

  • 六界仙尊 (作者)

    回复 DCloud_UNI_yuhe: 大佬看我下面贴的图

    2025-07-19 01:54

  • DCloud_UNI_yuhe

    回复 六界仙尊: 这看不出来啥问题,你可以看一下你项目中,有没有这样用的 ; uni["navigateTo"] 这样写法的

    2025-07-21 11:04

  • 六界仙尊 (作者)

    回复 DCloud_UNI_yuhe: 没有的,本地启动是正常的,打包后的就会报,无法正常跳转

    2025-07-21 16:33

六界仙尊

六界仙尊 (作者)

这里的 有解嘛? 之前没加判断前就是 uni.navigateTo报错

距离您98米

距离您98米 - 哈哈

解决了吗?我 main.js import * as uni from './uni.webview.1.5.6.js';

距离您98米

距离您98米 - 哈哈

解决了吗?我 main.js import * as uni from './uni.webview.1.5.6.js'; window.uni = uni; // 将 uni 对象挂载到全局对象上 本地调试可以,发到生成,加载不了

  • DCloud_UNI_yuhe

    有什么报错信息吗? 和上述报错一样吗?

    2025-09-11 11:01

  • 距离您98米

    回复 DCloud_UNI_yuhe: 搞了一天,没解决真坑,最后用了这个https://ask.dcloud.net.cn/article/40745,把uni改掉就行了

    2025-09-11 12:12

  • 距离您98米

    在本地开发没问题的,没有报错,一发到线上去就报错,找不到uni

    2025-09-11 12:13

  • DCloud_UNI_yuhe

    回复 距离您98米: 好的,感谢反馈

    2025-09-11 14:14

要回复问题请先登录注册