限制主要包括以下几点:
- 页面无登录态,与登录相关的接口,如 wx.login 均不可用
- 不允许跳转到其它页面,包括任何跳小程序页面、跳其它小程序、跳微信原生页面
- 若页面包含 tabBar,tabBar 不会渲染,包括自定义 tabBar
- 本地存储与小程序普通模式不共用
这些限制,让“单页模式”只适用于内容展示,不适用于有较多交互。
配置
针对“单页模式”,新增了单页模式相关配置。目前这个配置里只有一个navigationBarFit属性:
navigationBarFit属性主要是针对原页面设置了自定义导航栏的情况。也就是原页面的json文件中配置了这个属性:
{
// ...
"navigationStyle":"custom"
// ...
}
给大家看一下普通导航栏和自定义导航栏的区别,下图是普通导航栏页面:
下图是自定义导航栏页面,我们在原本的导航栏位置使用了banner:
"navigationStyle":"custom"这个设置在“单页模式”下也会生效。前文微信官方对“单页模式”的描述有说到“顶部导航栏与底部操作栏均不支持自定义样式”。如果我们在原页面设置了自定义导航栏。那么“单页模式”样式就会变成这样: