ファイルアップロードサービスを行っています。ファイルがアップロードされている間、ユーザーはページにとどまる必要があるため、window.onbeforeunload を使用します。
window.onbeforeunload = function() {
return 'You still have files uploading...';
};
ユーザーがページをリロードしたり、ページを閉じたり、新しい URL に移動したりしようとすると、ブラウザーが警告を表示し、ユーザーはそのページにとどまることができます。
これは機能しますが、Chrome で奇妙な動作が見つかりました。
よくアクセスするサイトの URL に移動しようとしても、ユーザーにポップアップは表示されず、要求されたページにすばやく移動します。私の場合、これを reddit.com、facebook.com で動作させることができましたが、dog.com では動作しませんでした。
事前レンダリング、または Chrome が持つその他の最適化と関係がある可能性があると思います。これにより、onbeforeunload が無視されます。
http://ge.ttにアクセスしてファイルのアップロードを開始することで試すことができます。次に、別の URL に移動し、よくアクセスする Web サイトを選択します。Chrome では (誤って) それができるはずです。
誰もこれについて何をすべきか知っていますか? onbeforeunload はもはや使用すべきものではありませんか?