fix(iframe-drawer): resolve content being obscured at the top of video #1023 (#1067)

Co-authored-by: Hakadao <a578457889743@gmail.com>
This commit is contained in:
apades
2024-10-17 00:10:57 +08:00
committed by GitHub
parent 27bfbe93b8
commit 059280fbfd
4 changed files with 86 additions and 5 deletions

View File

@@ -255,3 +255,22 @@ export function compareVersions(version1: string, version2: string): number {
return 0 // Versions are equal
}
export function queryDomUntilFound(selector: string, timeout = 500, abort?: AbortController): Promise<HTMLElement | null> {
return new Promise((resolve) => {
const interval = setInterval(() => {
const element = document.querySelector(selector)
if (element) {
clearInterval(interval)
resolve(element as HTMLElement)
}
}, timeout)
if (abort) {
abort.signal.addEventListener('abort', () => {
clearInterval(interval)
resolve(null)
})
}
})
}