小程序中 includes 的支持

js 的 includes 方法是 ES6 标准才增加的。includes 与 indexOf 类似,用于查找,传统的 indexOf 返回的是数字下标,而 includes 返回的是布尔值。

关于 includes 的具体用法见:
1、字符串中 includes 的用法
2、数组中 includes 的用法

微信小程序中 js 数组的 includes 在一些老机型如 iOS8上并不支持,详见:小程序 JavaScript 支持情况。如果要适配老机型的话,还是用 indexOf 吧。

分类至 小程序
0条评论

小程序 wx.requestSubscribeMessage 调起订阅消息界面

微信小程序的订阅消息接口 wx.requestSubscribeMessage,只能是用户发生点击行为或者发起支付回调后,才可以调起订阅消息界面。

除去支付回调这种情况,你必须给页面某个元素绑定 tap 事件,把这个 API 放到 tap 事件里,当用户去点击这个元素时才能调起订阅消息界面,且不能通过 setTimeout 延迟执行。

有一种特殊情况,wx.showModal 模态窗口的 success 回调可以调起订阅消息界面,举例如下:

wx.showModal({
    showCancel: false,
    content: '操作成功',
    success: res => {
        wx.requestSubscribeMessage({
            tmplIds: [''],
            success: res => { }
        })
    }
})

 

分类至 小程序
0条评论

微信小程序——网络请求之关于referer

首先解释一下referer:

HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。

在微信小程序中:

网络请求的 referer 是不可以设置的,格式固定为 https://servicewechat.com/{appid}/{version}/page-frame.html,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版。

总之,不要在head中写referer就可以了。

分类至 小程序
0条评论

微信小程序实现遮罩及阻止遮罩层下的页面滚动

实现遮罩效果

  • Html
<view class="mask-view">
  ...
</view>
  • CSS
.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>

 

分类至 小程序
0条评论

解决微信小程序inline-block不对齐的方法

解决方法:添加上 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>

 

分类至 小程序
0条评论

微信小程序 json 设置 backgroundColor 无效的问题

当我们在微信小程序 json 中设置 backgroundColor 时,实际在电脑的模拟器中根本看不到效果。
这是因为 backgroundColor  指的窗体背景颜色,而不是页面的背景颜色,即窗体下拉刷新或上拉加载时露出的背景。在电脑的模拟器中是看不到这个动作的,所以会让人误以为这个配置是无效的。
如果要设置页面背景颜色,得在 wxss 中自定义样式,如下:

page {
    background-color: #eee;
}

 

分类至 小程序
0条评论