エントリーの作成中に不用意にブラウザの「戻る」ボタンを押してしまうと、ユニットの情報が消えてしまうことがあります。
ということでエントリー編集中にページを移動しようとするとアラートを出すスクリプトを書いてみました。
使い方
上記のページからファイルをダウンロードするなりコピペするなりしてください。
ページ内のどこでも良いのでjsを読みこめばokです。
おすすめの構成
/path/to/theme/js/preventback.js にファイルを保存
/path/to/theme
は使っているテーマの場所です。そこにjsというフォルダを作ってファイルを置いておきます。
/path/to/theme/admin/entry/field.html を編集
/admin/entry/field.html
はエントリーのカスタムフィールドを定義しておくテンプレートです。このテンプレートはエントリーを編集するときだけ自動で読み込まれます。
テンプレートがない場合には新しく作成します。次の記述を追加します。
<!--#include file="/js/preventback.js"-->
以上
これだけです。
動作
エントリーを作成、編集している時にブラウザの「戻る」ボタンを押すとアラートが表示されるようになります。 ブラウザの「戻る」以外にも別ページヘ遷移するリンクをクリックしたり管理ページへ移動するボタンを押すとアラートが表示されます。
影響があるのはエントリーの作成ページと編集ページだけです。
ここでキャンセルを押すとページ遷移がキャンセルされて、今のページにとどまります。
エントリーの「作成」または「保存」ボタンを押した場合にはアラートは表示されず、そのまま送信します。