uni-app HBuilderX打包的5+app页面内跳转其它网址后报错 we are sorry 请求的页面无法打开
uni-app HBuilderX打包的5+app页面内跳转其它网址后报错 we are sorry 请求的页面无法打开
操作步骤:
- 通过提供的下载链接,选择一个非最新版本app进行下载
- 下载完成后进入app运行
- 点开首页会提示有新版本更新,是否要下载
- 点击下载,进入下载页,继续点击确认或安装,错误页面会出现,app在后头下载完成
预期结果:
- 点击下载,进入下载页,继续点击确认或安装,下载成功且app不会出现出错页面
实际结果:
- 在该页面点击下载后,出现页面报错:
- *we are sorry
- 请求的页面 (file://android_asset/apps/H5B8711EC/www/index.html)无法打开*
bug描述:
- 【该问题普遍存在各种型号的华为手机中】
- 通过vue开发的5+app,经hbuilderx分别打包为Android和ios应用。在【新版本提示】弹窗出现时:点击【下载】按钮会在应用内跳转至蒲公英平台上托管的应用下载地址。在该页面点击下载后,出现页面报错:
- **we are sorry
- 请求的页面 (file://android_asset/apps/H5B8711EC/www/index.html)无法打开**
- 代码示例中附上 hbuilderx中 manifest.json, 入口为根目录下的index.html,并未配置报错路径
图片
更多关于uni-app HBuilderX打包的5+app页面内跳转其它网址后报错 we are sorry 请求的页面无法打开的实战教程也可以访问 https://www.itying.com/category-93-b0.html
是需要登录才会触发更新吗?下的次新1.0.6版本的 在登录页面没有弹出更新框。
更多关于uni-app HBuilderX打包的5+app页面内跳转其它网址后报错 we are sorry 请求的页面无法打开的实战教程也可以访问 https://www.itying.com/category-93-b0.html
是的,因为登录账号无法提供,我可以录个屏然后把出错复现一下;或者重新打个安装包,在登录前就检查更新
回复 l***@163.com: 可以 你重新打个包。提前检测一下。
再录个屏,看一下重现步骤
回复 BoredApe: 好的,我都弄一下,谢谢
回复 BoredApe: 您好,新安装包及录屏已上传至附件
回复 l***@163.com: 你上传成功了吗?上传到机密信息还是哪里了?没看到哦
回复 BoredApe: 在留言中又上传了一次,请查收
回复 l***@163.com: 可能是蒲公英来回302跳转导致的,为什么使用蒲公英来分发呢。Android直接在应用中自己实现下载安装app,iOS可以直接使用itms-services协议安装开发包或者企业包。
回复 BoredApe: 请问用vue开发的单页应用5+app,也能用上述方法实现自动安装吗
回复 l***@163.com: 可以的。5+app 直接调用plus相关的方法进行安装
问题复现的录屏和安装包
大哥解决了吗,我也遇到了
解决了吗 我也遇到了
在处理uni-app使用HBuilderX打包的5+ App时,遇到页面内跳转其他网址后报错“we are sorry 请求的页面无法打开”的问题,通常是因为App的WebView组件没有正确配置或者存在跨域访问的限制。下面我将提供一个基本的代码案例,展示如何在uni-app中实现页面跳转,并确保可以正确打开外部网址。
步骤 1: 确认manifest.json配置
首先,确保你的manifest.json
文件中已经配置了允许Webview组件访问外部链接的权限。对于5+ App,你可能需要在manifest.json
的plus
->distribute
->apple
(如果是iOS)或android
(如果是Android)部分添加相应的网络访问权限。
步骤 2: 使用uni-app的Webview组件
在uni-app中,你可以使用<web-view>
组件来加载外部网页。下面是一个简单的示例,展示如何在页面中使用<web-view>
组件:
<template>
<view>
<button @click="openUrl('https://www.example.com')">打开外部网址</button>
<web-view :src="webviewUrl" if="{{webviewVisible}}"></web-view>
</view>
</template>
<script>
export default {
data() {
return {
webviewUrl: '',
webviewVisible: false
};
},
methods: {
openUrl(url) {
this.webviewUrl = url;
this.webviewVisible = true;
}
}
};
</script>
<style>
/* 样式根据需要调整 */
</style>
步骤 3: 处理跨域问题
如果你的外部网址存在跨域问题,你可能需要在服务器端设置CORS(跨源资源共享)策略,或者考虑使用代理服务器来转发请求。在uni-app中,你也可以尝试通过修改manifest.json
中的安全域名设置来解决跨域问题,但这通常用于开发调试阶段,生产环境建议通过服务器配置解决。
注意
- 确保外部网址是有效的,并且服务器允许从你的App域名进行访问。
- 在实际开发中,考虑到用户体验和安全性,对于外部链接的跳转可能需要更细致的处理,比如添加加载指示器、错误处理等。
- 如果问题依旧存在,检查是否有网络权限、白名单配置等问题,或者尝试使用原生插件进行更复杂的网络请求处理。
通过上述步骤,你应该能够解决uni-app打包的5+ App中页面跳转外部网址报错的问题。