Source code

Revision control

Copy as Markdown

Other Tools

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>hasFocus inner</title>
<script>
var seenFocus = false;
var seenBlur = false;
window.onmessage = function(e) {
if (e.data == "focus") {
let input = document.getElementsByTagName("input")[0];
input.onblur = function() {
seenBlur = true;
}
input.onfocus = function() {
if (seenFocus) {
if (seenBlur) {
window.parent.postMessage("restored", "*");
} else {
window.parent.postMessage("noblur", "*");
}
} else {
seenFocus = true;
window.parent.postMessage("focused", "*");
}
}
input.focus();
} else if (e.data == "hasfocus") {
if (document.hasFocus()) {
window.parent.postMessage("wrongfocus", "*");
} else {
window.parent.postMessage("close", "*");
}
}
}
</script>
</head>
<body>
<input>
</body>
</html>