微信小程序使用 web-view 组件无效

一、访问外部域名,需要在管理后台配置业务域名

开发者登录小程序后台mp.weixin.qq.com,选择开发管理->开发设置->业务域名,点击新增

1. 下载验证文件

注意,没有放置好校验文件是不能通过校验的,也就不能保存域名配置

2. 以nginx为例

获取到校验文件之后,放置到需要访问的域名方的nginx,放到nginx -> html ->和index.html文件同目录

如需要访问www.baidu.com,发给对方,让对方放置好,再直接到浏览器地址栏输入域名+校验文件名,如:http://www.baidu.com/xxxxx.txt,会直接返回校验文件的内容,表示放置成功。

3. 测试是否可以访问

放置好校验文件+配置了业务域名,就可以直接在小程序测试是否可以访问外部域名的地址

### 动态调整微信小程序 WebView 组件高度的方法 在开发过程中,有时需要根据网页内容动态设置 `web-view` 的高度以适应同设备屏幕或优化用户体验。由于 `web-view` 默认情况下会自动适配其内部加载页面的内容高度,因此需通过特定方法来实现这一功能。 #### 方法一:利用 JavaScript 和 CSS 实现自定义滚动条隐藏并计算真实高度 可以在 H5 页面中加入一段脚本,在页面完全加载完毕后向父级容器发送消息告知实际所需的高度值: ```html <script> document.addEventListener('DOMContentLoaded', function() { let bodyHeight = document.body.scrollHeight; // 向宿主环境传递信息 try{ wx.miniProgram.postMessage({ data: { height: bodyHeight } }); }catch(e){ console.error("Failed to send message", e); } }); </script> ``` 接收来自子页面的消息更新样式表中的变量从而改变 webView 容器尺寸[^2]。 对于小程序端,则监听消息事件,并据此修改对应的 wxml 文件内的 style 属性: ```javascript Page({ onLoad(query) { this.setData({ url: query.url }); const that = this; wx.onMessage(function (data) { if(data.height){ that.setData({ containerStyle:`height:${data.height}px;overflow:hidden;` }) } }); }, }) ``` 对应 WXML 结构如下所示: ```xml <view class="container" style="{{containerStyle}}"> <web-view src="{{url}}"></web-view> </view> ``` 这种方法适用于希望保持原有布局结构的同时让 webview 能够更好地贴合所展示内容的情况。 #### 方法二:固定比例缩放模式下的解决方案 如果应用允许采用固定的宽高比呈现网页内容,也可以考虑直接指定一个较大的初始高度值,再配合 CSS 中的 viewport 单位 (`vh`) 来创建响应式的视窗效果。过这种方式可能会导致部分区域可见或者存在空白空间的问题,具体取决于目标平台以及设计需求[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值