网页的PWA安装按钮迟迟不出来
demo预览:
https://sunzsh.github.io/html-demos/pwa.html
代码:
https://github.com/sunzsh/st-html-demo/blob/master/pwa.html
https://github.com/sunzsh/st-html-demo/blob/master/manifest.json
按说我在这引用了这个manifest文件
他在网页上
这就应该有安装PWA应用的按钮了
但是呢他这不出来
然后那天研究了半天我发现啊
其实就是
他们对这个图标尺寸
要求最少是144像素
所以呢
我这提前准备好了一个144像素的哈
我把它换成这个图标
打开啊
这就有了
所以很简单一个很普通的网页
加上这个manifest文件
至少要求这些属性
然后呢页面就会有这个添加的按钮了
顺便咱们再说一下
怎么在页面里用代码来触发这个东西
啊首先呢我们先加一个button
普通的button就行,就叫添加
然后呢在这写一个onclick
(事件)内容我们先空着哈然后我们再去
收集一个event
利用这个listiner呢window.addEventListener
叫beforeinstallprompt
这个
然后呢
把这个e收集起来
我们现在全局声明一个变量
要用pwaEvent
然后呢pwaEvent等于这个e
然后我们在这里边用
pwaEvent.prompt()
prompt
好我们再试一下
大家看这样就可以了
然后呢
有时候呢这个按钮需要隐藏起来
我们可以让他默认
没有这个按钮,对吧!
display等于none
然后呢我们再加一个ID吧
#btn
然后我们在这里边它默认是隐藏的嘛
我们在这里边
监听到可以加这个
PW应用的时候把它再显示出来
就btn.style.display="block"
再试一下大家看这回就有了
然后呢我们换一个浏览器啊
比如说Safari
看一看就没有
这个按钮
然后我们还可以呢
监听用户是不是点了安装了我们
在这
用pwaEvent把它
.userChoice
这个,.then(
我们打印这个东西就行了
来试一下
打开这个outcome
我们打印它点outcome
再试一下
打开这dismiss的
然后如果点击安装呢
输出accept
最后再给大家补充一下
关于刚才说那个图标尺寸的问题
在哪发现的呢
就是如果你发现
你这个按钮迟迟不显示哈
你可以打开这个application
然后选这个manifest
打卡我先把这个图标改回来
成这个一二十八六
好我们再刷新一下
打开这块会有提示
具体什么地方没有满足
所以你就照着他提示去修改就可以了
最后更新于
这有帮助吗?