私のフォームには複数のボタンとハイパーリンクが含まれており、ブラウザーの戻るボタンにアラートを表示したいと考えています。Chrome と Safari では正常に動作するが、IE と Firefox では動作しない以下のコードを使用しました。
window.onload = function() {
var btnClicks = document.getElementsByClassName('noPopup');
var links = document.getElementsByTagName('a');
for (var i = 0; i < links.length; i++) {
links[i].onclick = setGlobal;
}
for (var i = 0; i < btnClicks.length; i++) {
btnClicks[i].onclick = setGlobal;
}
function setGlobal() {
window.btn_clicked = true;
window.linkClicked = true;
}
window.onbeforeunload = function() {
if (!window.btn_clicked || !window.linkClicked) {
return 'Would you like to save first.';
}
};
};