Source code

Revision control

Copy as Markdown

Other Tools

self.addEventListener("message", async e => {
let clients = await self.clients.matchAll({
type: "window",
includeUncontrolled: true,
});
let hasWindow = false;
for (let client of clients) {
if (e.data == client.url) {
hasWindow = true;
break;
}
}
e.source.postMessage(hasWindow);
});