1

data-rel='dialog'リンクに表示されているユーザーログインフォームのあるサイトがあります。問題は、ブラウザの戻るボタンを押すと、ダイアログが履歴に表示されることです。ここで画面を取得します-a)最初のログインしていない状態を示しますb)「ログイン」ボタンをクリックした後にダイアログを開きますc)ログインに成功しましたd)戻るボタンを押してダイアログを表示しますe)閉じましたデフォルトの「x」ボタンが付いたダイアログがホームページに戻りますが、ログアウト状態になっています。

以下のコードでは、ログインボタン/リンク('/php/mobile_login.php'への)が自分の名前に置き換えられています。ログインCookieがサーバー側で検出されます。

また、data-dom-cacheを無効にしてホームページに戻った場合、サーバーから再度フェッチするべきではありませんか?

どうもありがとう、ケビン

<!DOCTYPE html>

<html lang='en'>
<head>
<meta charset='utf-8'>
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
<title>title</title>
<meta name='viewport' content='width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=no;' />


<script src='//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js'></script>
<script src='/js/jquery_mobile_global_defaults.js'></script>
<script src='http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js'></script>
<link rel='stylesheet' href='/design/mobile_style.css'>
<link rel='stylesheet' href='http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css' />
</head>
<body>

<div data-role='page' data-dom-cache='false' id='homepage'>

    <div class='header'>
        <div class='logo'></div>
        <div class='login'><a href='/php/mobile_login.php' data-overlay-theme='b' data-transition='none' data-rel='dialog' data-role='button' data-inline='true' data-icon='arrow-r' data-iconpos='right' data-theme='a' data-mini='false'>Login</a></div>
    </div>


    <div class='mobile_content'>
    content
    </div>

</div>

</body>
</html>

ダイアログ:

<!DOCTYPE html>

<html lang='en'>
<head>
<meta charset='utf-8'>
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
<title>title</title>
<link rel='stylesheet' href='/design/mobile_style.css'>
<link rel='stylesheet' href='http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css' />
<script src='//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js'></script>
<script src='/js/jquery_mobile_global_defaults.js'></script>
<script src='http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js'></script>
</head>

<body>

<div data-role='dialog'  id='member_login_div' data-overlay-theme='b'>
        <div data-role='header' data-theme='d'>
            <h1>Login</h1>

        </div>

        <div data-role='content' data-theme='c'>
        Login below to apply for jobs with your stored CV (use the desktop version of the site to upload your CV if you have not already done so).
        <form data-ajax='false'  method='POST' action='/php/mobile_do_login.php'>
        <label for='cjloginemail' class='ui-hidden-accessible'>Email Address</label>
        <input type='text' name='user_email' id='cjloginemail' value='kevin@solomon.ie' placeholder='Email Address'>
        <label for='cjloginpass' class='ui-hidden-accessible'>Password</label>
        <input type='password' name='password' id='cjloginpass' value='' placeholder='Password'>
        <input name='Submit' type='submit' value='Login'>
        </form>
        <p><a href='/php/mobile_forgot_pass.php'>I forgot my password - email it to me.</a>


    </div>

</div>
</body>
</html>
4

1 に答える 1

2

たぶん、次を使用してダイログのオンロードを閉じてみることができます$('.ui-dialog').dialog('close').

参照: JQuery モバイル - ダイログ

私は同じページでこれを読みましたが、それがあなたに起こっているのは奇妙です.

**

履歴と戻るボタンの動作

**

ダイアログは通常、ページ内のアクションをサポートするために使用されるため、フレームワークはハッシュ状態の履歴追跡にダイアログを含めません。これは、[戻る] ボタンをクリックしたときに、閲覧履歴の年表にダイアログが表示されないことを意味します。たとえば、ページにいる場合、リンクをクリックしてダイアログを開き、ダイアログを閉じてから別のページに移動します。その時点でブラウザの [戻る] ボタンをクリックすると、最初のページに戻るのではなく、最初のページに戻ります。ダイアログ。

更新: FireFox ブラウザの [戻る] ボタンにダイアログが表示されます。IE9 と Chrome で正常に動作します。

于 2013-02-12T17:05:15.117 に答える