2016-06-17 6 views
0

ブラウザの戻るボタンをクリックしたときに登録する方法についていくつかの調査がありましたが、残念ながら問題の正解を見つけることができませんでした。Javascriptまたはjqueryイベントブラウザの戻るボタンを検出する場合

私はこれをやってみました:

var $window = $(window); 

    $window.on('beforeunload', function() 
    { 
     commitFieldChanges(); 
    }); 

私はこの

のためのJSを必要に使用され、このため、他のソリューションは

$(window).bind('beforeunload', function(){ 
    return ''; 
}); 
です

ただし、私のアプリケーションは1ページのアプリケーションであるため、このすべてが機能していません。したがって、をURL内のアプリケーション内を移動するために、戻るボタンをクリックすると実際にページが読み込まれないので、どう思いますか?私の問題に対する提案はありますか?

答えて

1

これは私の現在のアプリケーションで、デスクトップとモバイルの両方の最新のクロスブラウザをサポートすることを目的とした一部のページの戻るボタンを検出するための方法です。

ホームページ

var isFromView = false; 
$(function() { 
    // Check if browser supports LocalStorage 
    if(typeof(Storage) !== 'undefined') { 
    var currentValue = localStorage.getItem('fromSource'); 
    if (currentValue && currentValue === 'view') { 
     // Set isFromDetail to true 
     isFromView = true; 
    } 
    else { 
     localStorage.removeItem('fromSource'); 
    } 

    try { 
     // Set fromSource in localStorage. 
     localStorage.setItem('fromSource', 'home'); 
    } 
    catch (err) { 
     // Need this for safari mobile private mode !! 
    } 
    } 
}); 

ビューページ

$(function() { 
    // Check if browser supports LocalStorage 
    if(typeof(Storage) !== 'undefined') { 
    try { 
     // Set fromSource in localStorage. 
     localStorage.setItem('fromSource', 'view'); 
    } 
    catch (err) { 
     // Need this for safari mobile private mode !! 
    } 
    } 
}); 

++:私は戻るボタンでアクションを実行するために履歴APIを介して行ってきました。しかし、いくつかのモバイルデバイスブラウザをサポートすることに成功していない。