Source code

Revision control

Copy as Markdown

Other Tools

<!DOCTYPE html>
<meta charset="utf-8">
<title>Page with unused preload that reports pagehide event data</title>
<!-- Preload link is added dynamically based on uuid parameter -->
<script>
// Extract uuid from the URL and create the preload link.
const params = new URLSearchParams(location.search);
const uuid = params.get("uuid");
if (uuid) {
const link = document.createElement("link");
link.rel = "preload";
link.href = `preload-stash.py?uuid=${uuid}`;
link.as = "script";
document.head.appendChild(link);
} else {
// Fallback for tests that don't pass uuid.
const link = document.createElement("link");
link.rel = "preload";
link.href = "nonexistent-script.js";
link.as = "script";
document.head.appendChild(link);
}
// Report pagehide event data back to parent window synchronously.
addEventListener("pagehide", function(event) {
if (parent && parent.pagehideCallback) {
parent.pagehideCallback({
eventConstructorName: event.constructor.name,
speculations: event.speculations ? {
preloads: event.speculations.preloads
} : null,
});
}
}, false);
</script>