본문 바로가기

develop/java script

세션스토리지를 이용한 뒤로가기

<%

Enumeration<String> paramNames = request.getParameterNames();

String referer = request.getHeader("referer");

String method = request.getMethod();


if(referer != null) {

String parameter = "";

while (paramNames.hasMoreElements()) {

String name = paramNames.nextElement();

if(!"".equals(parameter)) parameter += "&";

parameter += name + "=" + request.getParameter(name);

}

%>

<script type="text/javascript">

$(document).ready(function() {

//세션 스토로지에서 이전 페이지 데이터 꺼내오기

if(sessionStorage.length > 0) {

var method = sessionStorage.getItem("method");

var referer = "<%=referer %>";

var frm = document.createElement("form");

frm.setAttribute("id", "frmBack");

frm.setAttribute("method", method);

frm.setAttribute("action", referer.substring(0, referer.indexOf('?')));

document.body.appendChild(frm);

for(var i = 0; i < sessionStorage.length; i++) {

if(sessionStorage.key(i) != "" && sessionStorage.key(i) != "method") {

var input = document.createElement("input");

input.setAttribute("type", "hidden");

input.setAttribute("name", sessionStorage.key(i));

input.setAttribute("value", sessionStorage.getItem( sessionStorage.key(i) ));

frm.appendChild(input);

}

}

}


//세션 스토로지에 현재 페이지 데이터 저장

var parameter = "<%=parameter %>".split('&');

sessionStorage.clear();

sessionStorage.setItem("method", "<%=method %>");

for(var i = 0; i < parameter.length; i++) {

var name = parameter[i].split('=')[0];

var value = parameter[i].split('=')[1];

sessionStorage.setItem(name, value);

}


$("div.tit-page").children("a").attr("href", "javascript:;");

$("div.tit-page").children("a").attr("onclick", "goBack();");

});


function goBack() {

if( !!$("#frmBack") && "<%=method %>".toLowerCase() != "get" ) {

$("#frmBack").submit();

}

else {

history.back();

}

}

</script>

<%

}

else {

%>

<script type="text/javascript">

$("div.tit-page").children("a").attr("href", "javascript:history.back();");

</script>

<%

}

%>

'develop > java script' 카테고리의 다른 글

jquery radio 처리  (0) 2016.12.01
SELECTBOX 스크립트  (0) 2016.11.30
파일 등록 시 미리보기 기능 스크립트  (0) 2016.05.18
천단위 콤마 스크립트  (0) 2016.05.18
HTML 형식 달력 날짜 구하기 스크립트  (0) 2016.05.18