39 lines
1 KiB
HTML
39 lines
1 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
</head>
|
|
<body>
|
|
<iframe id="nestframe"></iframe>
|
|
<script>
|
|
let nestframe = document.getElementById("nestframe");
|
|
|
|
window.addEventListener("message", (event) => {
|
|
parent.postMessage(event.data, "*");
|
|
|
|
// Only create second iframe once
|
|
if(event.data.type === "https") {
|
|
return;
|
|
}
|
|
|
|
nestframe.contentDocument.body.innerHTML = `
|
|
<iframe id="frametwo"
|
|
src=\"https://example.com\"
|
|
onload=\"parent.postMessage({status:'loaded', type: 'https'}, '*')\"
|
|
onerror=\"parent.postMessage({status:'blocked', type: 'https'}, '*')\"
|
|
></iframe>`;
|
|
});
|
|
|
|
nestframe.onload = (event) => {
|
|
nestframe.contentDocument.body.innerHTML = `
|
|
<iframe id="frameone"
|
|
src=\"http://example.com\"
|
|
onload=\"parent.postMessage({status:'loaded', type: 'http'}, '*')\"
|
|
onerror=\"parent.postMessage({status:'blocked', type: 'http'}, '*')\"
|
|
></iframe>`;
|
|
}
|
|
|
|
nestframe.src = "about:blank";
|
|
</script>
|
|
</body>
|
|
</html>
|