2011-10-20 8 views
1

私の携帯サイトには数ページあります。 1ページでユーザーがログインでき、もう1ページでユーザーに日付が表示され、ユーザーはログアウトできます。しかし、ユーザーがログアウトしてログインページにリダイレクトされると、戻るボタンをクリックして、彼らが認証されたと思われるページに戻ることができます。ユーザーをログアウトした後でも、戻るをクリックすると、その前のページが表示されます。

1つのhtmlページを複数のdiv(「ページ」)に分割し、$.mobile.changePageを使用して1つのページから別のページにナビゲートできます。

ユーザーが戻るボタンをクリックしたときにデータが表示されないようにするにはどうすればよいですか?

「pageinit」をブラウズすると、実行されません。それがあった場合は、ユーザーがログインしているかどうかを確認することができます...

答えて

0

私はそれがレンダリングされた以前のウェブページを保存するので、通常の動作だと思います。私はちょうど自分のWebページでテストしましたが、実際に情報が表示されますが、何かを試して変更すると、システムはログインビューにリダイレクトされます。

つまり、以前のデータは表示されますが、古いデータは表示されず、ログインせずに変更することはできません。

1

例:

JS

var $secure_token = true; 

$('div').live('pageshow',function(event, ui) { 
    // Check for secure token here 
    if($secure_token != true) { 
     $.mobile.changePage("#login", { transition: "slideup"}); 
    } 
}); 

// Act if user has logged out 
$('#secure2').live('pageshow',function(event, ui) { 
    $secure_token = false; 
}); 

HTML

<div data-role="page" id="login"> 
    <div data-role="content"> 
     <ul data-role="listview" data-inset="true" data-theme="c" data-dividertheme="f"> 
      <li data-role="list-divider">Redirect</li> 
      <li><a href="#secure1">Secure Page 1</a></li> 
      <li><a href="#secure2">Secure Page 2</a></li> 
     </ul> 
    </div> 
</div> 

<div data-role="page" id="secure1"> 
    <div data-role="content"> 
     <ul data-role="listview" data-inset="true" data-theme="c" data-dividertheme="f"> 
      <li data-role="list-divider">Secure Page 1</li> 
      <li><a href="#secure2">Secure Page 2</a></li> 
     </ul> 
    </div> 
</div> 

<div data-role="page" id="secure2"> 
    <div data-role="content"> 
     <p>Please hit the browser back button or right click and back</p> 
    </div> 
</div> 
関連する問題