зеркало из https://github.com/mozilla/gecko-dev.git
38 строки
1.2 KiB
HTML
38 строки
1.2 KiB
HTML
<html>
|
|
<script>
|
|
onpageshow = function(pageShowEvent) {
|
|
var bc = new BroadcastChannel("ship_beforeunload");
|
|
bc.onmessage = function(event) {
|
|
if (event.data.action == "register_beforeunload") {
|
|
onbeforeunload = function() {
|
|
bc.postMessage("beforeunload_fired");
|
|
bc.close();
|
|
}
|
|
if (event.data.loadNextPageFromSessionHistory) {
|
|
history.back();
|
|
} else {
|
|
location.href += "?differentpage";
|
|
}
|
|
} else if (event.data.action == "navigate_to_page_b") {
|
|
bc.close();
|
|
if (event.data.blockBFCache) {
|
|
window.blockBFCache = new RTCPeerConnection();
|
|
}
|
|
location.href += "?pageb";
|
|
} else if (event.data.action == "back_to_page_b") {
|
|
if (event.data.forwardNavigateToPageB) {
|
|
history.forward();
|
|
} else {
|
|
history.back();
|
|
}
|
|
bc.close();
|
|
} else if (event.data.action == "close") {
|
|
bc.close();
|
|
window.close();
|
|
}
|
|
}
|
|
bc.postMessage({type: pageShowEvent.type, persisted: pageShowEvent.persisted});
|
|
}
|
|
</script>
|
|
</html>
|