【发布时间】:2021-07-14 16:07:16
【问题描述】:
我有 PWA 按钮,该按钮仅在 beforeinstallprompt 触发并添加类 available 时出现,在此之前,显示为无。
我想要一个虚拟按钮,它应该是显示块,但是当 beforeinstallprompt 触发时,虚拟按钮应该是 display none。
我无法添加 JS 功能来做同样的事情。
我的部门:
<button class="btnApp"> PWA Button </button>
<button class="dummy"> Dummy Button </button>
我的 CSS:
button.mybtn {
display: none;
}
button.mybtn.available {
display: block;
}
我的 JS:
"serviceWorker" in navigator && (navigator.serviceWorker.register("/service-worker.js", {
scope: "/"
}), function() {
"use strict";
var e = function(e) {
var t, n = function() {
t && (t.prompt(), t.userChoice.then((function(n) {
t = null, ga("send", "event", "install", "install", n), e.classList.remove("available")
})).catch((function() {
t = null, ga("send", "event", "error", "error"), e.classList.remove("available")
})))
};
window.addEventListener("beforeinstallprompt", (function(n) {
return t = n, ga("send", "event", "available", "available"), e.classList.add("available"), !1
})), window.addEventListener("appinstalled", (function() {
document.body.querySelector(".btnApp").style.display = "none", t = null, ga("send", "event", "installed", "installed"), e.classList.remove("available")
})), e.addEventListener("click", n.bind(this)), e.addEventListener("touchend", n.bind(this))
};
window.addEventListener("load", (function() {
var t = document.body.querySelector(".btnApp");
new e(t)
}))
}())
【问题讨论】:
标签: javascript css progressive-web-apps