| Summary: | document.focus or window onblur not trigger util a mouse move or click user gesture happened when an url-scheme launch dialog shows | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Jeason Xu <jeason.xu93> |
| Component: | DOM | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW --- | ||
| Severity: | Normal | CC: | webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | Safari 16 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
|
Description
Jeason Xu
2023-05-29 02:33:14 PDT
Here is demo code:
const launchSharingApp = (urlScheme) => {
if (!urlScheme) return;
const frameId = 'url-scheme-frame-id';
let tempIframe = document.getElementById(frameId);
if (!tempIframe) {
tempIframe = document.createElement('iframe');
tempIframe.id = frameId;
tempIframe.style.display = 'none';
document.body.appendChild(tempIframe);
}
tempIframe.contentWindow.location.href = urlScheme;
setTimeout(() => {
if (!document.hasFocus()) {
/** if lost focus very fast, it means broswer's own confirm dialog shows.
* User has no chance to touch other app */
console.log('app installed');
}
}, 50);
};
launchSharingApp('...')
|