ユーザーが「F5」を使用してページを更新できないようにしようとしていますが、これはシックボックスが表示されている場合のみです。
問題は、シックボックスのページを切り替えた後、シックボックスが表示されているかどうかを確認するための以下のチェックで、常にfalseが返されることです。
var bol_thickbox_shown = ($('#TB_window').is(':visible')) ? true : false;
これはページが読み込まれる方法(おそらくAJAX呼び出し)に関係していると思いますが、シックボックスが表示されているかどうかを確認するときに、そのためのアカウントを作成する方法がわかりません。誰か助けてもらえますか?ありがとう。
これが私の完全なコードです-
/**
* Prevent F5 from refreshing the page if the Thickbox is shown
*/
document.onkeydown = function(e){
/** Check to see if the Thickbox is being shown */
var bol_thickbox_shown = ($('#TB_window').is(':visible')) ? true : false;
console.log('bol_thickbox_shown: '+bol_thickbox_shown);
if(bol_thickbox_shown && e.keyCode === 116){ // F5 keycode is 116
e.preventDefault();
e.returnValue = false; // for IE
}
}