js 的 includes 方法是 ES6 标准才增加的。includes 与 indexOf 类似,用于查找,传统的 indexOf 返回的是数字下标,而 includes 返回的是布尔值。
关于 includes 的具体用法见:
1、字符串中 includes 的用法
2、数组中 includes 的用法
微信小程序中 js 数组的 includes 在一些老机型如 iOS8上并不支持,详见:小程序 JavaScript 支持情况。如果要适配老机型的话,还是用 indexOf 吧。
天涯海角异孤星
js 的 includes 方法是 ES6 标准才增加的。includes 与 indexOf 类似,用于查找,传统的 indexOf 返回的是数字下标,而 includes 返回的是布尔值。
关于 includes 的具体用法见:
1、字符串中 includes 的用法
2、数组中 includes 的用法
微信小程序中 js 数组的 includes 在一些老机型如 iOS8上并不支持,详见:小程序 JavaScript 支持情况。如果要适配老机型的话,还是用 indexOf 吧。
微信小程序的订阅消息接口 wx.requestSubscribeMessage
,只能是用户发生点击行为或者发起支付回调后,才可以调起订阅消息界面。
除去支付回调这种情况,你必须给页面某个元素绑定 tap 事件,把这个 API 放到 tap 事件里,当用户去点击这个元素时才能调起订阅消息界面,且不能通过 setTimeout 延迟执行。
有一种特殊情况,wx.showModal
模态窗口的 success 回调可以调起订阅消息界面,举例如下:
wx.showModal({
showCancel: false,
content: '操作成功',
success: res => {
wx.requestSubscribeMessage({
tmplIds: [''],
success: res => { }
})
}
})
首先解释一下referer:
HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。
在微信小程序中:
网络请求的 referer 是不可以设置的,格式固定为 https://servicewechat.com/{appid}/{version}/page-frame.html,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版。
总之,不要在head中写referer就可以了。
<view class="mask-view">
...
</view>
.mask-view {
width: 100%;
height: 100%;
position: fixed;
overflow: hidden;
background-color: #ffffff;
z-index: 999;
top: 0;
left: 0;
}
只需要在遮罩层上加上catchtouchmove="ture"
需要注意的是:因模拟器无touch事件,需在真机上测试
<view class="mask-view" catchtouchmove="ture">
...
</view>
解决方法:添加上 vertical-align:top 后就会对其。应该是由于默认的 display:inline-block 是基于 vertical-align:baseline 对齐的,改变一下 vertical-align 的类型就好了。
<view>
<view style="width:20%; display:inline-block; vertical-align:top;">
<image src="{{item.img}}"></image>
</view>
<view style="width:80%; display:inline-block; vertical-align:top;">
<text>...</text>
</view>
</view>