무ν μ€ν¬λ‘€ κΈ°λ₯μ ꡬννλλ° μμ΄ λ°λμ λ³νλμ΄μΌ ν κΈ°λ₯μ΄ μμ΅λλ€. λ°λ‘ 무ν μ€ν¬λ‘€λ‘ λ λλ§λ μνμ λλ₯΄κ³ λ€μ [λ€λ‘κ°κΈ°]λ₯Ό νμ μ μ¬μ ν κ·Έ μνμ μμΉλ‘ μμΌ νλ€λ κ²μ λλ€.
λ§μ½, μ΄ κΈ°λ₯μ΄ κ΅¬νλμ΄ μμ§ μμΌλ©΄ μνμ λλ₯΄κ³ λ§μ λ€μ§ μμ [λ€λ‘κ°κΈ°]λ₯Ό λλ μ λ λ€μ μ΄ μνμ΄ λμλ κ³³κΉμ§ μ€ν¬λ‘€μ λ΄λ €μΌ ν©λλ€.
μ€λμ μ§, μμ΄λμ΄μ€μ μ΄λ»κ² λμ΄μλ μ§ νλ² λ³΄κ² μ΅λλ€.
[μ€λμ μ§]
μ€λμ μ§ κ°μ κ²½μ° sessionStorageλ₯Ό μ΄μ©ν κ±Έ μ μ μμ΅λλ€.
λ€λ‘ κ°κΈ° μ΄λ²€νΈκ° λ°μνμ κ²½μ° μ΄λ₯Ό κ°μ§νμ¬ sessionStorageμμ κ°μ λΏλ €μ£Όλ κ² κ°μμ΅λλ€. κ·Έλμ λ§μ½ μ κ°λ€μ μ§μ°κ² λλ€λ©΄ μνμ λ³΄κ³ [λ€λ‘κ°κΈ°]λ₯Ό λλ μ λ μ μ μμΉλ‘ λμμ€μ§ λͺ»ν©λλ€.
[μμ΄λμ΄μ€]
μμ΄λμ΄μ€ κ°μ κ²½μ°λ μ°μ νμ¬ λ¬΄ν μ€ν¬λ‘€μ μμΉλ₯Ό localStorageμ μ μ₯ν©λλ€. νμ§λ§ μνμ λλ μ κ²½μ° μλ‘μ΄ νμ΄μ§κ° μ겨λμ μ¬μ€ [λ€λ‘κ°κΈ°]μ μλ―Έκ° μμ΄μ§λλ€.
μλ¬΄νΌ LocalStorageμ SessionStorageλ₯Ό μ΄μ©νλ©΄ μ΄λ ΅μ§ μκ² [무ν μ€ν¬λ‘€ μ μν μμΉ μ μ§](μ κ° μ΄λ¦ λΆμΈκ±°λΌ 보νΈμ μΈ μ΄λ¦μ μλλλ€..) κΈ°λ₯μ ꡬνν μ μμ κ² κ°μ΅λλ€.
μ€λμ μ§κ³Ό μ μ¬νκ² κΈ°λ₯μ ꡬνν΄λ³΄κ² μ΅λλ€. 무ν μ€ν¬λ‘€ κΈ°λ₯μ ꡬνλμ΄μλ€ κ°μ νκ² μ΅λλ€.
- 무ν μ€ν¬λ‘€μ μ΄μ©ν΄μ μλ‘ μνμ λΆλ¬ μ¬λλ§λ€ ν΄λΉ μμΉμ λΆλ¬μ¨ μνλ€μ SessionStorageμ λ΄μ΅λλ€.
- μνμ ν΄λ¦ν©λλ€. μ΄λ SessionStorageμλ μ΄μ νμ΄μ§μ λν μ λ³΄κ° μμ΅λλ€.
- λ€λ‘κ°κΈ°λ₯Ό λλ¬ μ΄μ νμ΄μ§λ‘ μ΄λνλ©΄ μ μ 보μλ μνμ μμΉλ‘ μ΄λλμ΄ μμ΅λλ€.
* μ°Έκ³ : SessionStorageμ κ΄ν functionμ λλ€.
[STEP1] 무ν μ€ν¬λ‘€μ μ΄μ©ν΄μ μλ‘ μνμ λΆλ¬ μ¬λλ§λ€ ν΄λΉ μμΉμ λΆλ¬μ¨ μνλ€μ SessionStorageμ λ΄λλ€
// s : sessionStorage κ° μ€μ
session_obj.totalReturnData = totalReturnData;
session_obj.path_name = path_name;
session_obj.sort = formData.sort;
setJSONSessionStorage('session_obj', session_obj);//μΈμ
μ€ν 리μ§μ μ μ₯
// e : sessionStorage κ° μ€μ
* μ°Έκ³ : totalReturnDataμλ htmlμ΄ λ΄κ²¨μ Έ μμ΅λλ€.
μ€ν¬λ‘€μ λ΄λ¦΄μ νΉμ μμΉμ μ€ν¬λ‘€μ΄ κ°κ²λλ©΄ ajaxλ₯Ό ν΅ν΄ μνλ€μ μΆκ°μ μΌλ‘ λΆλ¬μ΅λλ€. μ΄ν ajax success λΆλΆμ μ μ½λλ₯Ό μΆκ°νμ¬ SessionStorageμ λ΄μμ€λλ€.
[STEP2] μνμ ν΄λ¦νλ€
μν ν΄λ¦ ν μν λν μΌ νμ΄μ§λ‘ μ΄λ ν SessionStorage보면 κ°λ€μ΄ μ λ΄κ²¨μ Έ μμ΅λλ€.
[STEP3] λ€λ‘κ°κΈ°λ₯Ό λλ¬ μ΄μ νμ΄μ§λ‘ μ΄λνλ©΄ μ μ 보μλ μνμ μμΉλ‘ μ΄λλμ΄ μλ€
μν λν μΌ νλ©΄μμ λ€λ‘κ°κΈ°λ₯Ό λλ¬ μ΄μ νμ΄μ§λ‘ μ΄λν©λλ€.
μν μμΉλ‘ μ μ¨κ²μ νμΈ ν μ μμ΅λλ€.
[μ΅μ’ μ½λ]
[λ€λ‘κ°κΈ°]λ₯Ό νμ μ λμμ€λ νμ΄μ§μμ "[λ€λ‘κ°κΈ°]λ₯Ό ν΄μ μ΄ νμ΄μ§λ‘ μλ€" λΌλ μ΄λ²€νΈλ₯Ό κ°μ§ν΄μΌ ν©λλ€.
window.onpageshow = function(event) {
if ( event.persisted || (window.performance && window.performance.navigation.type == 2)) {
// Back Forward Cacheλ‘ λΈλΌμ°μ κ° λ‘λ©λ κ²½μ° νΉμ λΈλΌμ°μ λ€λ‘κ°κΈ° νμ κ²½μ°
console.log("λ€λ‘κ°κΈ°λ‘ μμ");
}else{
console.log("λ€λ‘κ°κΈ°λ‘ μ¨κ² μλ");
}
}
μ μ½λλ₯Ό μ΄μ©νμ¬ [λ€λ‘κ°κΈ°]μ μ΄λ²€νΈλ₯Ό κ°μ§ ν μ μμ΅λλ€. μ¬μ€ μ¬κΈ°κΉμ§λ§ λλ©΄ λ μ΄μ μ΄λ €μΈ 건 μμ΅λλ€.
[무ν μ€ν¬λ‘€ μ μν μμΉ μ μ§] κΈ°λ₯μ λν μ΅μ’ μ½λμ λλ€.
function onPageShow(_callback){
// λ€λ‘κ°κΈ° μ΄λ²€νΈ κ°μ§
window.onpageshow = function(event) {
if ( event.persisted || (window.performance && window.performance.navigation.type == 2)) {
// Back Forward Cacheλ‘ λΈλΌμ°μ κ° λ‘λ©λ κ²½μ° νΉμ λΈλΌμ°μ λ€λ‘κ°κΈ° νμ κ²½μ°
_callback();
}/*else{
}*/
}
}
function initReturnData(){
if(getJSONSessionStorage("session_obj") != null
&& getJSONSessionStorage("session_obj").path_name == path_name){
...
totalReturnData += getJSONSessionStorage("session_obj").totalReturnData;
page_now = getJSONSessionStorage("session_obj").page_now;
...
}
}
$(function() {
onPageShow(function(){
initReturnData();
});
}
onPageShow λ‘ [λ€λ‘κ°κΈ°] μ΄λ²€νΈλ₯Ό κ°μ§ν ν μ½λ°±ν¨μ(initReturnData)λ₯Ό νΈμΆνμ¬ SessionStorageμ μλ κ°λ€μ λ λλ§ μμΌμ€λλ€.
μ΄μ μ€λμ μ§μμ μκ°μ μ»μ΄ [무ν μ€ν¬λ‘€ μ μν μμΉ μ μ§] κΈ°λ₯μ ꡬνν΄λ΄€μ΅λλ€.
'...' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[ElasticSearch+Java] analyze μλ°μμ ꡬννκΈ° (0) | 2021.08.27 |
---|---|
[JavaScript] 무ν μ€ν¬λ‘€ κΈ°λ₯ ꡬννκΈ° (0) | 2021.08.27 |
[JavaScript] sessionStorage μ΄μ©νκΈ° (0) | 2021.08.27 |
[AWS] IAM μ μ λ° MFA μμ±νκΈ° (0) | 2021.08.26 |
[Maven] Springboot νλ‘μ νΈμμ mvnw, mvnw.cmd λ 무μμΌκΉ? (0) | 2021.08.26 |