Last active
March 13, 2024 18:40
-
-
Save karpatic/06b715d6f085eef7bfa41a2d0ae8b390 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let control = [ | |
"window", | |
"self", | |
"document", | |
"name", | |
"location", | |
"customElements", | |
"history", | |
"navigation", | |
"locationbar", | |
"menubar", | |
"personalbar", | |
"scrollbars", | |
"statusbar", | |
"toolbar", | |
"status", | |
"closed", | |
"frames", | |
"length", | |
"top", | |
"opener", | |
"parent", | |
"frameElement", | |
"navigator", | |
"origin", | |
"external", | |
"screen", | |
"innerWidth", | |
"innerHeight", | |
"scrollX", | |
"pageXOffset", | |
"scrollY", | |
"pageYOffset", | |
"visualViewport", | |
"screenX", | |
"screenY", | |
"outerWidth", | |
"outerHeight", | |
"devicePixelRatio", | |
"clientInformation", | |
"screenLeft", | |
"screenTop", | |
"styleMedia", | |
"onsearch", | |
"isSecureContext", | |
"trustedTypes", | |
"performance", | |
"onappinstalled", | |
"onbeforeinstallprompt", | |
"crypto", | |
"indexedDB", | |
"sessionStorage", | |
"localStorage", | |
"onbeforexrselect", | |
"onabort", | |
"onbeforeinput", | |
"onbeforematch", | |
"onbeforetoggle", | |
"onblur", | |
"oncancel", | |
"oncanplay", | |
"oncanplaythrough", | |
"onchange", | |
"onclick", | |
"onclose", | |
"oncontentvisibilityautostatechange", | |
"oncontextlost", | |
"oncontextmenu", | |
"oncontextrestored", | |
"oncuechange", | |
"ondblclick", | |
"ondrag", | |
"ondragend", | |
"ondragenter", | |
"ondragleave", | |
"ondragover", | |
"ondragstart", | |
"ondrop", | |
"ondurationchange", | |
"onemptied", | |
"onended", | |
"onerror", | |
"onfocus", | |
"onformdata", | |
"oninput", | |
"oninvalid", | |
"onkeydown", | |
"onkeypress", | |
"onkeyup", | |
"onload", | |
"onloadeddata", | |
"onloadedmetadata", | |
"onloadstart", | |
"onmousedown", | |
"onmouseenter", | |
"onmouseleave", | |
"onmousemove", | |
"onmouseout", | |
"onmouseover", | |
"onmouseup", | |
"onmousewheel", | |
"onpause", | |
"onplay", | |
"onplaying", | |
"onprogress", | |
"onratechange", | |
"onreset", | |
"onresize", | |
"onscroll", | |
"onsecuritypolicyviolation", | |
"onseeked", | |
"onseeking", | |
"onselect", | |
"onslotchange", | |
"onstalled", | |
"onsubmit", | |
"onsuspend", | |
"ontimeupdate", | |
"ontoggle", | |
"onvolumechange", | |
"onwaiting", | |
"onwebkitanimationend", | |
"onwebkitanimationiteration", | |
"onwebkitanimationstart", | |
"onwebkittransitionend", | |
"onwheel", | |
"onauxclick", | |
"ongotpointercapture", | |
"onlostpointercapture", | |
"onpointerdown", | |
"onpointermove", | |
"onpointerrawupdate", | |
"onpointerup", | |
"onpointercancel", | |
"onpointerover", | |
"onpointerout", | |
"onpointerenter", | |
"onpointerleave", | |
"onselectstart", | |
"onselectionchange", | |
"onanimationend", | |
"onanimationiteration", | |
"onanimationstart", | |
"ontransitionrun", | |
"ontransitionstart", | |
"ontransitionend", | |
"ontransitioncancel", | |
"onafterprint", | |
"onbeforeprint", | |
"onbeforeunload", | |
"onhashchange", | |
"onlanguagechange", | |
"onmessage", | |
"onmessageerror", | |
"onoffline", | |
"ononline", | |
"onpagehide", | |
"onpageshow", | |
"onpopstate", | |
"onrejectionhandled", | |
"onstorage", | |
"onunhandledrejection", | |
"onunload", | |
"crossOriginIsolated", | |
"scheduler", | |
"alert", | |
"atob", | |
"blur", | |
"btoa", | |
"cancelAnimationFrame", | |
"cancelIdleCallback", | |
"captureEvents", | |
"clearInterval", | |
"clearTimeout", | |
"close", | |
"confirm", | |
"createImageBitmap", | |
"fetch", | |
"find", | |
"focus", | |
"getComputedStyle", | |
"getSelection", | |
"matchMedia", | |
"moveBy", | |
"moveTo", | |
"open", | |
"postMessage", | |
"print", | |
"prompt", | |
"queueMicrotask", | |
"releaseEvents", | |
"reportError", | |
"requestAnimationFrame", | |
"requestIdleCallback", | |
"resizeBy", | |
"resizeTo", | |
"scroll", | |
"scrollBy", | |
"scrollTo", | |
"setInterval", | |
"setTimeout", | |
"stop", | |
"structuredClone", | |
"webkitCancelAnimationFrame", | |
"webkitRequestAnimationFrame", | |
"chrome", | |
"fence", | |
"caches", | |
"cookieStore", | |
"ondevicemotion", | |
"ondeviceorientation", | |
"ondeviceorientationabsolute", | |
"launchQueue", | |
"sharedStorage", | |
"documentPictureInPicture", | |
"getScreenDetails", | |
"queryLocalFonts", | |
"showDirectoryPicker", | |
"showOpenFilePicker", | |
"showSaveFilePicker", | |
"originAgentCluster", | |
"credentialless", | |
"speechSynthesis", | |
"onscrollend", | |
"webkitRequestFileSystem", | |
"webkitResolveLocalFileSystemURL", | |
"_gaUserPrefs", | |
"define", | |
"ethereum" | |
] | |
let diff = Object.keys(window).filter(key => !control.includes(key)); | |
diff |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment