Source code

Revision control

Copy as Markdown

Other Tools

<!DOCTYPE html>
<html>
<head>
<script src="/common/get-host-info.sub.js"></script>
</head>
<body>
<script>
onmessage = e => parent.postMessage(e.data, "*");
const path = "/fetch/api/resources/cors-top.txt";
const http_url = get_host_info().HTTP_ORIGIN + path;
const https_url = get_host_info().HTTPS_ORIGIN + path;
const ifr = document.createElement("iframe");
ifr.src = `data:text/html,
<!DOCTYPE html>
<script>
async function try_fetch(url) {
try {
const response = await fetch(url);
return response.ok;
} catch(e) {
return false;
}
}
async function try_fetch_and_report(url) {
parent.postMessage({
protocol: new URL(url).protocol,
success: await try_fetch(url),
}, "*");
}
try_fetch_and_report("${http_url}");
try_fetch_and_report("${https_url}");
<\/script>
`;
document.body.appendChild(ifr);
</script>
</body>
</html>