No.5074

スマホやタブレットのようなタッチパネル環境で似たような経験があったので、気になってAI(Copilot)に聞いてみました。
Copilotが提示した下記のjavascriptコードを外側スキンの末尾にある遅延読み込みスクリプト群の所に貼り付けてテストしたところ、文字を入力できるエリア(textareaとinput)に何らかの文字が入力されている状態でリンクをクリックした時に確認ダイアログが出ました。このままだと投稿ボタンや記事検索ボタンを押した時にも確認ダイアログが出るので、その辺の細かい部分はお好みに合わせて調整してみて下さい。
<script>
let isTyping = false;
document.querySelector("textarea").addEventListener("input", () => {
isTyping = true;
});
window.addEventListener("beforeunload", (event) => {
if (isTyping) {
event.preventDefault();
event.returnValue = "変更内容が失われる可能性があります。ページを移動してもよろしいですか?";
}
});
</script>
