私はフォームページを持っています。フォームを保存しないでユーザーに警告する必要があります。 通常、この目的は、関数window.onBeforeUnloadを記述することで実現できます。流星鉄道ルータの別のページへのナビゲートを防止する方法
しかし、MeteorとIron Routerを使用している私のプロジェクトではうまくいかないようです。 提案がありますか?
私はフォームページを持っています。フォームを保存しないでユーザーに警告する必要があります。 通常、この目的は、関数window.onBeforeUnloadを記述することで実現できます。流星鉄道ルータの別のページへのナビゲートを防止する方法
しかし、MeteorとIron Routerを使用している私のプロジェクトではうまくいかないようです。 提案がありますか?
これは多分ハックバージョンですが、それは動作します:
isUnsaved = ->
return unless @ready()
unless confirm 'Do you really want to leave the page?'
Router.go(@url)
Router.onStop isUnsaved,
only: [
'editPost'
]
古いポストが、ちょうどそれを解決しました。ここに私の解決策があります:
Router.route('/myPath', {
unload: function (e, obj) {
if(Session.get("hasChanged")){
if (confirm("Are you sure you want to navigate away ?")) {
// Go and do some action
}else{
// Redirect to itself : nothing happend
this.redirect('/myPath');
}
}
}
}
"別のページ" = "あなたのウェブサイトの別のルート"または "別のウェブサイトのページ"ですか? –
'' 'window.onBeforeUnload = function(){return 'をナビゲートする前にフォームを保存してください';}' ''を追加していますか? – MurWade
@ PeppeL-G別のページは私のウェブサイトにまだある別のルートです。 – aladine