答えて
あなたはonbeforeunloadに結合し、文字列を返すようにしようとしているので、私はあなたがをユーザに提供するために探していることを、推測していますAJAXサイトに「このページを残してもよろしいですか?」というダイアログが表示されますか?あなたはおそらく、リンク上にクリックハンドラを結合することによって少し異なり、このことについて移動する必要があり、その場合には
。したがって、確認が行われるまでハッシュ変更を防ぐことができます。以下のような
何か:
$('a[href^="#"]').live('click',function(e){
if(//should we be confirming first?) {
//put your confirmation code here either using default JS windows or your own CSS/jQueryUI dialog boxes
// this code should either cache the url of the link that was clicked and manually update the location with it when the user confirms the dialog box (if you're using JQUI windows) or simply use JS confirmation boxes and based on the response, all you need to do is return; and the link click will handle normally
e.preventDefault(); //prevent the link from changing the hash tag just yet
e.stopImmediatePropagation(); //prevent any parent elements from firing any events for this click
}
});
は誤解しないでください、しかし、あなたは深刻ですか?
このリンクはハッシュタグを参照するだけで、現在のサイトを離れず、onbeforeunload
もunload
も呼び出されません。
インスタンスの任意の*クリックイベントハンドラbound to that anchor aswell, there must be something in the event handler code which really forces the current site to get unloaded (
location.href`がある場合)。
あなただけのAjax経由でHTMLを切り替える場合、onbeforeunload
aswellはありません。
ハンドラをonhashchange
イベントにバインドできます(ブラウザの互換性を確認してください)が、あなたのURL /ハッシュで発生する変更に対して発生します。
ええ、私はそれを知っています。しかし、ユーザーの観点から、彼はページを変更しました。ですから、質問はもっとです:私はこれを防ぐことができます、私はonbeforeunloadのトリックでそれを防ぐことができたでしょうか? –
@MaximeARNSTAMM:確かにこの場合、あなたはajaxをやっている場所を見つけて、確認ロジックを入れる前に見つける必要がありますか? – Chris
おそらくonhashchange
イベントを探しています: https://developer.mozilla.org/en/DOM/window.onhashchange
- 1. AJAXとonbeforeunloadイベント
- 2. beforeloadまたはonbeforeunload
- 3. Angular2 onbeforeunload
- 4. onbeforeunloadイベントはiPhoneでサポートされていませんか?
- 5. onbeforeunload - 選択的イベントへのバインド
- 6. onBeforeUnloadとnode.js
- 7. オーバーライドonbeforeunload(ジャバスクリプト)
- 8. Onbeforeunload例外
- 9. Javascriptとonbeforeunload?
- 10. ONUNLOADとonbeforeunload
- 11. カスタムonbeforeunloadメッセージ
- 12. user-unfriendly onbeforeunload/onunload
- 13. onbeforeunloadとonunloadの違い
- 14. onbeforeunloadの確認ダイアログ
- 15. winform webbrowserを使用してonbeforeunloadイベントを処理する方法
- 16. onbeforeunloadダイアログボックスをカスタマイズする
- 17. onbeforeunloadポップアップをキャンセルする
- 18. IEでは、ページをアンロードしないリンクに対してonbeforeunloadイベントが発生します。
- 19. Onbeforeunloadをクリアします
- 20. jQueryの、onBeforeUnloadとASP.Netフォーム
- 21. onbeforeunloadの代わりに
- 22. 反応の 'onbeforeunload'イベントでクロムの二重確認を防止するには
- 23. onbeforeunloadイベントでメッセージをカスタマイズできません
- 24. onbeforeunload関数でイベント未定義の問題
- 25. * onbeforeunload *はSafari(macOS)にキャッシュされていますか?
- 26. IE11でonbeforeunloadを設定する
- 27. onbeforeunloadは、私は、このページに取り組んでいますサファリやChrome
- 28. onunload/onbeforeunloadで安全にAJAXをやっているWebkit(ChromeやSafari)の方法
- 29. 私のカスタムポップアップでonbeforeunloadポップアップを上書きする
- 30. iPhone Mobile App(safari):onblur、onfocus、onbeforeunloadなどのjavascriptイベントはありますか?
ええ、それは動作します!ありがとう:) –