我有一个DNN登录/注销控制,它无法正常工作。我想因此使我自己使用JS/JQUERY。检查cookie是否存在使用jquery/js登录注销
当用户在页面上的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;
});
我得到 “{”错误“:”请使用PO ST请求“}”在jsfiddle这似乎是因为它没有服务器发布。原来的例子似乎工作,我的执行does not ..:S – 2012-04-11 08:41:20