私はonbeforeunload
を私のプロジェクトで使用しています。ただし、ユーザーがリンクをクリックしてレポートをダウンロードできるセクションがあります。 window.location
がトリガーされる前に、私はwindow.onbeforeunload = null
を設定して、そのユーザーはアラート/確認ボックスを表示せずに、出かけるか滞在するか質問します。レポートをクリックしてブラウザを閉じるとファイルをダウンロードすると問題が発生しますonbeforeunload
が再びトリガされません。レポートをダウンロードした後に私はどのようにonbeforeunload
をトリガーできますか?ここに私の関数の例である:window.locationがページをリロードした後にonbeforeunloadをアクティブにする方法は?
function getReport(){
var fileName = $(this).prop('id'),
param = 'rptFile=' + fileName;
try{
window.onbeforeunload = null;
window.location = '/'+pathname+'/APPS/entry.cfm?idx=5&' + param;
}catch(err){
alert("An error occurred retrieving the file.");
}
};
私はentry.cfm
をリロードしています私のメインページには、私は機能をonbeforeunloadいるdocument.ready
機能を持っています。レポートがwindow.location
でダウンロードされると、その後、onbeforeunloadはbrが再びトリガーされることを期待しました。だから、私が何か間違っているのか、それともJSではできないのか分かりません。ここでentry.cfm
例です:
$(document).ready(function() {
window.onbeforeunload = function() {
return 'Are you sure you want to leave?';
}
});
誰もが再びonbeforeunloadトリガする方法を知っている場合は私に知らせてください。ありがとうございました!
は、ときに、ユーザーのダウンロードレポート...彼らはその後、onbeforeload再び私は再びonbeforeunload接続する方法を疑問に思ったものだ –
@KresimirPendicを添付しなかったかどうかを知るために、クッキーやのlocalStorageにいくつかのフラグを置きますか?私はdocument.readyにそのトリックを行うことを望んでいた。 –
[これはあなたに役立つかもしれません](https://www.w3schools.com/jsref/event_onbeforeunload.asp)、また、ウィンドウをリロードする代わりに、レポートをダウンロードするために新しいウィンドウを開くか、iframeを使用するのはなぜですか? –