1

DNNログイン/ログオフコントロールが正しく機能していません。したがって、JS/JQUERYを使用して自分で作成したいと思います。

ユーザーがログインすると、ページのHTMLは次のようになります。

<a href="javascript:__doPostBack('dnn$dnnLOGIN$cmdLogin','')" class="SkinObject" id="dnn_dnnLOGIN_cmdLogin">Logout</a>

そして、それらが「ログアウト」されると、次のようになります。

<a href="javascript:__doPostBack('dnn$dnnLOGIN$cmdLogin','')" class="SkinObject" id="dnn_dnnLOGIN_cmdLogin">Login</a>
  • Cookieが設定されているかどうか、ログオフリンクが表示されているかどうか、まだ表示されていない場合はログインリンクが表示されているかどうかを確認したいと思います。

  • ログインをクリックすると、Cookieが存在するかどうかが確認され(ログインが表示されたはずです)、ログインページに移動します。

  • [ログオフ]をクリックすると、Cookieが削除され、ページが更新されます。Cookieが見つからなかったため、リンクが[ログイン]に戻ります。

私はこれをサンプルガイドとして使用していました:http://jsfiddle.net/MadLittleMods/73vzD/

これは私がこれまでに行ったことです:

HTML:

<a id="dnn_dnnLOGIN_cmdLogin" href="Login">
    Login
</a>

||

<a id="dnn_dnnLOGIN_cmdLogin" href="Logoff">
    Logoff
</a>

<br />

<a id="see" href="#">
    see
</a>

JS:

//set the cookie once user has logged in
//for testing purposes clicking login should set the cookie to 1
//clicking on Logoff 'should' set the cookie to 0
$('#dnn_dnnLOGIN_cmdLogin').live('click', function() {
    var action = $(this).attr('href');
    var cookie_value = (action == 'Login') ? 1 : null;

    $.cookie('DNN-COOKIE', cookie_value);

    return false;
});

// clicking on 'see' should bring up an alert box display the cookie value of 1 or 0
$('#see').live('click', function() {

    alert($.cookie('DNN-COOKIE'));

    return false;
});
4

1 に答える 1

1

cookieのデモは正常に機能しています。プラグインを含めるのを忘れたようです。

ここで動作するものを参照してください


アップデート:

このようなCookieの既存を確認できます

var preval = $.cookie('cookie-name');
if(preval != null) {
    //... 
}

デモ

于 2012-04-11T10:58:46.583 に答える