私はjQueryモバイルプロジェクトに取り組んでおり、ユーザーが特定のページに戻るのを防ぐ必要があります.UIは明らかに、ユーザーが戻ってはならない戻るボタンを提供していませんが、ユーザーがブラウザの戻るボタンをクリックします。
pagebeforechange イベントを関数にバインドすることで、ユーザーが戻ってこないようにしようとしていました。この関数は、宛先ページの URL を見て、ユーザーが戻るかどうかを知ることができます。私のプロジェクトでは、UI からアクセスできる URL は 2 つしかないため、これは簡単です。それ以外の URL は、ユーザーが戻るボタンを押すことを意味します。これを検証するために、URL の性質上、正規表現を使用しています。
$( document ).bind('pagebeforechange', function(event, data) {
if(typeof data.toPage === "string") {
var url = data.toPage;
var regex = /.../
var paramsIndex = url.indexOf('?'); // Get rid of possible params
if(paramsIndex > 0) {
url = url.substr(0, paramsIndex);
}
if(regex.test(url)) {
event.preventDefault(); // Prevent the user from going back..
}
}
});
残念ながら、正規表現が適切に機能し、ユーザーが戻るボタンを押すたびに (そしてその時だけ) 一致するにもかかわらず、これは機能しません。jquery mobile の ajax ナビゲーションを引き続き使用したいと思います。
乾杯