blob: a1f416f959a1e002fa9cf89a22a00b80c7d6ce21 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
<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>
|