| <!DOCTYPE html> |
| <meta charset="utf-8" /> |
| <title>setAppBadge iframe</title> |
| <script> |
| async function callSetAppBadge() { |
| const postMessageData = { message: "callSetAppBadge" }; |
| |
| try { |
| await navigator.setAppBadge(); |
| postMessageData.status = "success"; |
| } catch (e) { |
| if (e instanceof DOMException) { |
| postMessageData.status = "error"; |
| postMessageData.exceptionType = e.name; |
| } else { |
| postMessageData.status = "unknown_error"; |
| postMessageData.error = e.toString(); |
| } |
| } finally { |
| window.parent.postMessage(postMessageData, "*"); |
| } |
| } |
| |
| window.addEventListener("message", async (event) => { |
| switch (event.data) { |
| case "callSetAppBadge": |
| await callSetAppBadge(); |
| break; |
| default: |
| throw new Error(`Unexpected message: ${event.data}`); |
| } |
| }); |
| </script> |