微信小程序web-view无法打开第三方页面,且无法添加业务域名的解决办法。实测可用!!

微信小程序web-view无法打开第三方页面,且无法添加业务域名的解决办法。实测可用!!

问题描述: 微信小程序中webview嵌套第三方页面无法打开。

160ca177f72e245a9f174f1c6d665c6

根据了解,小程序官方webview有一些要求:

1、非个人用户 ,不开放给个人用户,需要企业主体认证。

2、需要https域名,不支持ip+端口,ICP备案24小时以上。

3、需要添加业务域名,添加业务域名需要将校验文件放到域名根目录。

官方解决办法:添加业务域名

1、打开微信公众平台,登录需要对应的小程序,找到开发管理-业务域名。

image-20250320134736784

2、点击添加或者修改按钮,管理员账号扫码验证后下载校验文件,将校验文件放到需要添加的业务域名的根目录,之后点击保存便会进行业务域名校验,如果校验通过便能保存成功,不通过会提示对应的校验信息。

image-20250320110405495

3、如果以上步骤都完成那么业务域名就正常添加,之后便可以从小程序中使用web-view了。

<template>
	<view>
	<!-- 用百度举例-->
    <web-view src="https://www.baidu.com"></web-view>
    <view>
<template>

使用以上代码便可直接展示百度的主页。

官方方法标准且好用!

但是,如果如果真的是百度、腾讯等第三方真的会给提供业务域名校验吗?不是所有第三方都这么友好吧,接下来我就说下第二种方法,也是我实际应用而且有效的方法。

Nginx转发(非官方)

举例,我自己的域名是https://mywebsite.com,我要从通过web-view打开百度官网https://www.baidu.com

1、按照官方的方法将自己的域名https://mywebsite.com添加到小程序的业务域名。

2、配置nginx,当小程序访问https://mywebsite.com是时经过转发实际访问的是https://www.baidu.com,如果第三方页面页面有一些子目录和路径传递的参数也可以。

image-20250320141510475

3、nginx配置完成后重新加载nginx的配置文件

./nginx -s reload

4、小程序访问第三方页面前,将第三方的域名替换为自己服务器的域名。

onLoad() {
    this.url.replace('www.baidu.com', 'mywebsite.com');
  },

经过以上步骤就可以正常访问第三方页面了。

需要注意,如果访问的第三方页面是域名的子目录,比如www.baidu.com/h5,而这个页面中有一些css、js、以及图片文件,所在的目录是www.baidu.com/css等目录,也需要将这些的静态资源目录从nginx中转发,如果不配置页面中的内容无法正常展示(能打开页面不会提示无法打开,但因为没有css样式和图片可能显示空白页面,只有一个标题)

image-20250320142933135

还有就是nginx配置不能使用重定向,如果使用重定向微信小程序还是能够检测出来没有添加业务域名,同样无法访问,nginx配置完成之后可以先从浏览器访问下地址,如果访问之后浏览器地址栏地址没有变化说明没有重定向。

以上就是我前几天遇到的问题以及处理方式,目前小程序中使用web-view可以正常使用,也没有添加第三方的业务域名。

以上内容如果有误希望大佬可以批评指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值