Edgeの場合
- onbeforeunload
もしくは
- onunload
function popup(url) {
if (! window.showModalDialog) {
// IE以外 (Edgeなど)
modalWin = window.open(url);
} else {
// IE
modalWin = window.showModalDialog(url);
}
return modalWin;
}
//-----------------
var url = "https://qiita.com";
if (modalWin = popup(url)) {
if (! window.showModalDialog) {
// IE以外 (Edgeなど)
modalWin.onunload = function () {
alert("onunload");
}
modalWin.onbeforeunload = function () {
alert("onbeforeunload");
}
} else {
// IE
alert("IE");
}
}
addEventListenerの例
function unloaded() {
location.reload();
}
var modalWin = window.open(url);
if (! window.showModalDialog) {
// IE以外
modalWin.addEventListener('beforeunload', unloaded, false);
} else {
// IE
}
showModalDialog の代替
window.showModalDialog
がない場合は以下を用いるとよいかも。