记录用户上次上访问的页面

前端:

//用户没登录,跳转到登录页面
if(!"{{ request.user.username }}"){
    window.location.href = '/blog/login';
    return
}

方法一

JSdocument.referrer

window.location.href = document.referrer?document.referrer:"/blog/index/";

方法二

jquery操作session

JquerySession是一个基于jquery的用来处理session的库,使用它可以简化我们的工作。在使用之前需要引入jquery。
1 新建jQuerysession.js文件
内容如下

/**
 * Created by 马小跳 on 2017/11/24.
 */
(function($){$.session={_id:null,_cookieCache:undefined,_init:function()
{if(!window.name){window.name=Math.random();}
this._id=window.name;this._initCache();var matches=(new RegExp(this._generatePrefix()+"=([^;]+);")).exec(document.cookie);if(matches&&document.location.protocol!==matches[1]){this._clearSession();for(var key in this._cookieCache){try{window.sessionStorage.setItem(key,this._cookieCache[key]);}catch(e){};}}
document.cookie=this._generatePrefix()+"="+ document.location.protocol+';path=/;expires='+(new Date((new Date).getTime()+ 120000)).toUTCString();},_generatePrefix:function()
{return'__session:'+ this._id+':';},_initCache:function()
{var cookies=document.cookie.split(';');this._cookieCache={};for(var i in cookies){var kv=cookies[i].split('=');if((new RegExp(this._generatePrefix()+'.+')).test(kv[0])&&kv[1]){this._cookieCache[kv[0].split(':',3)[2]]=kv[1];}}},_setFallback:function(key,value,onceOnly)
{var cookie=this._generatePrefix()+ key+"="+ value+"; path=/";if(onceOnly){cookie+="; expires="+(new Date(Date.now()+ 120000)).toUTCString();}
document.cookie=cookie;this._cookieCache[key]=value;return this;},_getFallback:function(key)
{if(!this._cookieCache){this._initCache();}
return this._cookieCache[key];},_clearFallback:function()
{for(var i in this._cookieCache){document.cookie=this._generatePrefix()+ i+'=; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT;';}
this._cookieCache={};},_deleteFallback:function(key)
{document.cookie=this._generatePrefix()+ key+'=; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT;';delete this._cookieCache[key];},get:function(key)
{return window.sessionStorage.getItem(key)||this._getFallback(key);},set:function(key,value,onceOnly)
{try{window.sessionStorage.setItem(key,value);}catch(e){}
this._setFallback(key,value,onceOnly||false);return this;},'delete':function(key){return this.remove(key);},remove:function(key)
{try{window.sessionStorage.removeItem(key);}catch(e){};this._deleteFallback(key);return this;},_clearSession:function()
{try{window.sessionStorage.clear();}catch(e){for(var i in window.sessionStorage){window.sessionStorage.removeItem(i);}}},clear:function()
{this._clearSession();this._clearFallback();return this;}};$.session._init();})(jQuery);

2 在自己的项目中引用该文件


注意:因为jQuerysession基于jquery,所以jquery.js须在jQuerysession.js前面,否则会报错Uncaught ReferenceError: jQuery is not defined

3 使用方法

语法:
添加数据
    $.session.set('key', 'value')
删除数据
    $.session.remove('key');
获取数据
    $.session.get('key');
清除数据
    $.session.clear();

你可能感兴趣的:(记录用户上次上访问的页面)