39 lines
1.1 KiB
HTML
39 lines
1.1 KiB
HTML
<!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>
|