Backbone: History.navigateλŠ” μƒνƒœ 개체 섀정을 ν—ˆμš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.

에 λ§Œλ“  2011λ…„ 11μ›” 28일  Β·  11μ½”λ©˜νŠΈ  Β·  좜처: jashkenas/backbone

ν˜„μž¬ HistoryλŠ” pushState {} μƒνƒœ κ°œμ²΄κ°€ λΉ„μ–΄ μžˆλŠ” pushState λ₯Ό ν˜ΈμΆœν•©λ‹ˆλ‹€. ν˜ΈμΆœμžκ°€ μƒνƒœ 개체λ₯Ό μ„€μ •ν•  수 μžˆλ„λ‘ ν•˜λŠ” 것이 μ€‘μš”ν•©λ‹ˆλ‹€. κ°€λŠ₯ν•œ 경우 μ΅œμ†Œν•œ window.history.state λ₯Ό μ‚¬μš©ν•˜λŠ” 것이 합리적인 κΈ°λ³Έκ°’μž…λ‹ˆλ‹€. History.navigate λŠ” stateObject λ₯Ό μΆ”κ°€ λ§€κ°œλ³€μˆ˜λ‘œ μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.

change wontfix

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

History APIλŠ” URI와 κ΅¬λ³„λ˜λŠ” 탐색 κ²½λ‘œμ— μ—°κ²°λœ μ•± μƒνƒœλ₯Ό ꡬ체적으둜 λ‹€λ£Ήλ‹ˆλ‹€. 즉 "μš°λ¦¬κ°€ μ—¬κΈ° μ–΄λ–»κ²Œ μ™”μ–΄?" μ•„λ§ˆλ„ Hysterisis API라고 λΆˆλŸ¬μ•Ό ν•  κ²ƒμž…λ‹ˆλ‹€. μš°λ¦¬λŠ” λ™μΌν•œ URIλ₯Ό κ³΅μœ ν•˜κ³  λ™μΌν•œ 'νŽ˜μ΄μ§€'에 μžˆμ„ 수 μžˆμ§€λ§Œ 마우슀의 λ’€λ‘œ λ²„νŠΌμ„ λˆ„λ₯΄κ±°λ‚˜ λͺ¨λ°”μΌμ—μ„œ λ’€λ‘œ μŠ€μ™€μ΄ν”„ν•  λ•Œ λ™μΌν•œ λ°˜ν™˜ 보기/νŽ˜μ΄μ§€/μƒνƒœκ°€ 아닐 수 μžˆμŠ΅λ‹ˆλ‹€. 그리고 κ·Έ λ’€λ‘œ λ™μž‘μ€ URIλ₯Ό λ³€κ²½ν•˜μ§€ μ•Šκ³  μ•± μƒνƒœ/기둝을 λ³€κ²½ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λͺ¨λ“  탐색 μ „ν™˜μ΄ URI μ „ν™˜μΈ 것은 μ•„λ‹™λ‹ˆλ‹€. λ”°λΌμ„œ URIλ₯Ό κ³΅μœ ν•  λ•Œ λ™μΌν•œ λ¦¬μ†ŒμŠ€ λ˜λŠ” 'νŽ˜μ΄μ§€'λ₯Ό ν‘œμ‹œν•˜μ§€λ§Œ λ™μΌν•œ 탐색 μƒνƒœλŠ” ν‘œμ‹œν•˜μ§€ μ•Šμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” λ‹Ήμ‹ μ˜ 무리의 κ²½ν—˜μ— κ°μ‚¬ν•˜μ§€λ§Œ λŒ€λΆ€λΆ„μ˜ κ°œλ°œμžκ°€ μ œμž‘μžκ°€ μ˜λ„ν•œ λŒ€λ‘œ APIλ₯Ό μ‚¬μš©ν•˜λŠ” 방법을 아직 μ΄ν•΄ν•˜μ§€ λͺ»ν–ˆλ‹€λŠ” 것을 보여주기 μœ„ν•œ 것이라고 μƒκ°ν•©λ‹ˆλ‹€. 그것은 ν”„λ ˆμž„μ›Œν¬κ°€ 그것을 포μž₯ν•˜λŠ” 쒋은 μ΄μœ κ°€ μ•„λ‹™λ‹ˆλ‹€.

λ˜ν•œ 양식 값을 μœ μ§€ν•˜λŠ” 방법이 μ•„λ‹ˆλΌ push/popState APIλ₯Ό μ‚¬μš©ν•˜μ—¬ νƒμƒ‰ν•˜κΈ° μœ„ν•΄ λ’€λ‘œ λ²„νŠΌμ„ λˆŒλ €μ„ λ•Œ λ³€κ²½ 사항을 μ €μž₯ν•˜λΌλŠ” λ©”μ‹œμ§€λ₯Ό μ‚¬μš©μžμ—κ²Œ ν‘œμ‹œν•˜λŠ” 방법에 λŒ€ν•œ μ§ˆλ¬Έμ„ 닀루지 μ•Šμ•˜μŠ΅λ‹ˆλ‹€. μ±…κ°ˆν”Ό κ°€λŠ₯ν•œ URIκ°€ μžˆλŠ” μ–‘μ‹μ—μ„œ 멀리 λ–¨μ–΄μ Έ μžˆμŠ΅λ‹ˆλ‹€. 이에 λŒ€ν•œ λŒ€μ²˜λ₯Ό κ³ λ €ν•˜μ‹œκΈ° λ°”λžλ‹ˆλ‹€.

λͺ¨λ“  11 λŒ“κΈ€

λ™μ˜ν•˜μ§€ μ•Šμ„ 수 μžˆμ§€λ§Œ 그렇지 μ•Šμ€ κ²½μš°μ—λŠ” μ €λ₯Ό 섀득해 λ³΄μ‹­μ‹œμ˜€.

History API의 μš”μ μ€ λ‹€μ‹œ 탐색할 수 μžˆλŠ” μ±…κ°ˆν”Ό 및 곡유 κ°€λŠ₯ν•œ URL을 μ œκ³΅ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. APIλ₯Ό μ‚¬μš©ν•˜μ—¬ 기둝 개체λ₯Ό μ²¨λΆ€ν•˜λ©΄ λ‹€μ‹œ νƒμƒ‰ν•˜λŠ” νŽ˜μ΄μ§€κ°€ λ™μΌν•œ URL에 뢙여넣은 경우 ν‘œμ‹œλ˜λŠ” νŽ˜μ΄μ§€μ™€ _μ•„λ‹ˆλ‹€_. 이것은 깨진 것 κ°™μŠ΅λ‹ˆλ‹€ ... 그리고 μ΅œμ†Œν•œ λΈŒλΌμš°μ € μ„Έμ…˜ 쀑에 JS에 μž„μ˜μ˜ μƒνƒœλ₯Ό μ €μž₯ν•  수 μžˆλŠ” κΈ°λŠ₯κ³Ό μ€‘λ³΅λ©λ‹ˆλ‹€.

그것은 λΈŒλΌμš°μ € κ΅¬ν˜„μžκ°€ "이런, ν•  수 μžˆλ‹€λ©΄ κΉ”λ”ν•˜μ§€ μ•Šμ„κΉŒμš”..."라고 μƒκ°ν•˜κ³  μ‹€μ œ κ²°κ³Όλ₯Ό κ³ λ €ν•˜μ§€ μ•Šμ€ API와 같은 λƒ„μƒˆκ°€ λ‚©λ‹ˆλ‹€.

λ‚˜λŠ” 당신이 λ°”λžŒμ§ν•œ μ•± λ™μž‘κ³Ό λΈŒλΌμš°μ € APIκ°€ μ œκ³΅ν•˜λŠ” 것보닀 더 μ œν•œμ μΈ 기둝 이벀트의 세뢄성에 λŒ€ν•΄ κ°€μ •ν•˜κ³  μžˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. 특히 URI둜 호좜될 λ•Œ λ™μž‘μ„ μ§€μ‹œν•˜λŠ” 앱이 μ•„λ‹ˆλΌ ν”„λ ˆμž„μ›Œν¬μ— 달렀 μžˆμ–΄μ•Ό ν•  μ΄μœ κ°€ μ—†μŠ΅λ‹ˆλ‹€. URI둜 μ‹λ³„λ˜λŠ” λ¦¬μ†ŒμŠ€(및 μΈμ½”λ”©λœ μƒνƒœ)에 μ§κ΅ν•˜λŠ” μƒνƒœ(탐색 κ²½λ‘œμ— μ˜ν•΄ 제곡됨)κ°€ 있고 ν”„λ ˆμ  ν…Œμ΄μ…˜μ΄ λ‘˜ λͺ¨λ‘μ— λŒ€ν•΄ 쑰건지어진 것이 μ™„λ²½ν•˜κ³  λͺ…λ°±ν•˜κ²Œ 합법적인 것 κ°™μŠ΅λ‹ˆλ‹€. λΆ„λͺ…νžˆ κ·Έ 선택은 κ°œλ³„ 앱에 달렀 μžˆμŠ΅λ‹ˆλ‹€.

κ·Έ 좔상적인 μ£Όμž₯을 μ œμ™Έν•˜κ³ , 예λ₯Ό λ“€μ–΄ History APIλ₯Ό μ‚¬μš©ν•˜μ—¬ (λ’€λ‘œ λ²„νŠΌ 포함) 탐색할 λ•Œ λ³€κ²½ 사항을 μ €μž₯/μ‚­μ œν•˜λ„λ‘ μ œμ•ˆν•˜λŠ” μ±…κ°ˆν”Ό κ°€λŠ₯ν•œ μž…λ ₯ 양식을 κ΅¬ν˜„ν•˜λŠ” 방법을 μ•Œλ €μ£Όμ‹­μ‹œμ˜€.

이것은 ν•œλ‘ μ€„μ˜ λ³€κ²½ μ‚¬ν•­μž…λ‹ˆλ‹€. History.navigate λ§€κ°œλ³€μˆ˜λ₯Ό μΆ”κ°€ν•˜μ§€ μ•ŠμœΌλ €λ©΄ currentState μ†μ„±μ΄λ‚˜ ν•¨μˆ˜λ₯Ό 톡해 주어진 μƒνƒœλ₯Ό μ‚¬μš©ν•˜λ„λ‘ λ§Œλ“€ μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄ μ±…κ°ˆν”Ό κ°€λŠ₯ν•œ μž…λ ₯ 양식을 κ΅¬ν˜„ν•˜λŠ” 방법을 μ•Œλ €μ£Όμ‹­μ‹œμ˜€.
(
λ’€λ‘œ λ²„νŠΌμœΌλ‘œ) History APIλ₯Ό μ‚¬μš©ν•˜μ‹œκ² μŠ΅λ‹ˆκΉŒ?

λ‚˜λŠ” λ‹¨μˆœνžˆ 양식 λ³€κ²½ 사항을 λ‹€λ₯Έ μ•ˆμ „ν•œ μž₯μ†Œμ— μ €μž₯ν•  κ²ƒμž…λ‹ˆλ‹€. μ„Έμ…˜, μ„œλ²„, localstorage...

μ‚¬λžŒλ“€μ΄ 이 직책에 λŒ€ν•΄ μ–΄λ–»κ²Œ μƒκ°ν•˜λŠ”μ§€ κΆκΈˆν•΄μ„œ λ‹€μŒκ³Ό 같이 μ§ˆλ¬Έν–ˆμŠ΅λ‹ˆλ‹€.

https://twitter.com/jashkenas/status/142736117895151616

그리고 λ‹€μŒκ³Ό 같은 닡변이 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

https://twitter.com/juandopazo/status/142737949178601472

https://twitter.com/yaypie/status/142737982879842304

https://twitter.com/fortes/status/142742305877659648

https://twitter.com/dyakovlev/status/142743995020349441

https://twitter.com/basistance/status/142882410982420481

History APIλŠ” URI와 κ΅¬λ³„λ˜λŠ” 탐색 κ²½λ‘œμ— μ—°κ²°λœ μ•± μƒνƒœλ₯Ό ꡬ체적으둜 λ‹€λ£Ήλ‹ˆλ‹€. 즉 "μš°λ¦¬κ°€ μ—¬κΈ° μ–΄λ–»κ²Œ μ™”μ–΄?" μ•„λ§ˆλ„ Hysterisis API라고 λΆˆλŸ¬μ•Ό ν•  κ²ƒμž…λ‹ˆλ‹€. μš°λ¦¬λŠ” λ™μΌν•œ URIλ₯Ό κ³΅μœ ν•˜κ³  λ™μΌν•œ 'νŽ˜μ΄μ§€'에 μžˆμ„ 수 μžˆμ§€λ§Œ 마우슀의 λ’€λ‘œ λ²„νŠΌμ„ λˆ„λ₯΄κ±°λ‚˜ λͺ¨λ°”μΌμ—μ„œ λ’€λ‘œ μŠ€μ™€μ΄ν”„ν•  λ•Œ λ™μΌν•œ λ°˜ν™˜ 보기/νŽ˜μ΄μ§€/μƒνƒœκ°€ 아닐 수 μžˆμŠ΅λ‹ˆλ‹€. 그리고 κ·Έ λ’€λ‘œ λ™μž‘μ€ URIλ₯Ό λ³€κ²½ν•˜μ§€ μ•Šκ³  μ•± μƒνƒœ/기둝을 λ³€κ²½ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λͺ¨λ“  탐색 μ „ν™˜μ΄ URI μ „ν™˜μΈ 것은 μ•„λ‹™λ‹ˆλ‹€. λ”°λΌμ„œ URIλ₯Ό κ³΅μœ ν•  λ•Œ λ™μΌν•œ λ¦¬μ†ŒμŠ€ λ˜λŠ” 'νŽ˜μ΄μ§€'λ₯Ό ν‘œμ‹œν•˜μ§€λ§Œ λ™μΌν•œ 탐색 μƒνƒœλŠ” ν‘œμ‹œν•˜μ§€ μ•Šμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” λ‹Ήμ‹ μ˜ 무리의 κ²½ν—˜μ— κ°μ‚¬ν•˜μ§€λ§Œ λŒ€λΆ€λΆ„μ˜ κ°œλ°œμžκ°€ μ œμž‘μžκ°€ μ˜λ„ν•œ λŒ€λ‘œ APIλ₯Ό μ‚¬μš©ν•˜λŠ” 방법을 아직 μ΄ν•΄ν•˜μ§€ λͺ»ν–ˆλ‹€λŠ” 것을 보여주기 μœ„ν•œ 것이라고 μƒκ°ν•©λ‹ˆλ‹€. 그것은 ν”„λ ˆμž„μ›Œν¬κ°€ 그것을 포μž₯ν•˜λŠ” 쒋은 μ΄μœ κ°€ μ•„λ‹™λ‹ˆλ‹€.

λ˜ν•œ 양식 값을 μœ μ§€ν•˜λŠ” 방법이 μ•„λ‹ˆλΌ push/popState APIλ₯Ό μ‚¬μš©ν•˜μ—¬ νƒμƒ‰ν•˜κΈ° μœ„ν•΄ λ’€λ‘œ λ²„νŠΌμ„ λˆŒλ €μ„ λ•Œ λ³€κ²½ 사항을 μ €μž₯ν•˜λΌλŠ” λ©”μ‹œμ§€λ₯Ό μ‚¬μš©μžμ—κ²Œ ν‘œμ‹œν•˜λŠ” 방법에 λŒ€ν•œ μ§ˆλ¬Έμ„ 닀루지 μ•Šμ•˜μŠ΅λ‹ˆλ‹€. μ±…κ°ˆν”Ό κ°€λŠ₯ν•œ URIκ°€ μžˆλŠ” μ–‘μ‹μ—μ„œ 멀리 λ–¨μ–΄μ Έ μžˆμŠ΅λ‹ˆλ‹€. 이에 λŒ€ν•œ λŒ€μ²˜λ₯Ό κ³ λ €ν•˜μ‹œκΈ° λ°”λžλ‹ˆλ‹€.

λ‚˜λŠ” 일반적으둜 Backboneκ³Ό WebDevλ₯Ό 처음 μ ‘ν•˜μ§€λ§Œ tribalvibes에 λ™μ˜ν•©λ‹ˆλ‹€.

Facebook의 Graph APIλ₯Ό 기반으둜 ν•˜λŠ” μ›Ή μ‘μš© ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“€κ³  Backbone의 탐색 κΈ°λŠ₯을 μ‚¬μš©ν•˜μ—¬ μ‚¬μš©μžκ°€ λ‹€λ₯Έ ν•­λͺ©μœΌλ‘œ λŒμ•„κ°€ λ³Ό 수 μžˆλ„λ‘ ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. Facebook이 μ§€κΈˆ ν•˜κ³  μžˆλŠ” 것과 μœ μ‚¬ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ pushState에 stateobjectκ°€ μ—†μœΌλ©΄ μ‚¬μš©μžλŠ” APIμ—μ„œ ν•­λͺ©μ„ λ‹€μ‹œ λ‘œλ“œν•΄μ•Ό ν•˜λ©° μ΄λŠ” λΆ„λͺ…νžˆ λΉ„μš©μ΄ 많이 λ“­λ‹ˆλ‹€.

μ•„λ§ˆλ„ 이 문제의 일반적인 νŒ¨ν„΄μ΄ 무엇인지 λͺ¨λ₯΄κΈ° λ•Œλ¬ΈμΌ κ²ƒμž…λ‹ˆλ‹€. ν•˜μ§€λ§Œ 이에 λŒ€ν•œ μƒνƒœ κ°œμ²΄κ°€ 있으면 맀우 도움이 될 것이라고 μƒκ°ν•©λ‹ˆλ‹€.

MDN λ¬Έμ„œμ— 따라 μƒνƒœ κ°œμ²΄λŠ” λ””μŠ€ν¬μ— μ €μž₯λ©λ‹ˆλ‹€. 둜컬 μ €μž₯μ†Œμ— μ €μž₯ν•˜λŠ” 것과 μ–΄λ–»κ²Œ λ‹€λ₯Έμ§€ 이해가 λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” 이것이 λ‹€μ‹œ 닀루어져야 ν•œλ‹€κ³  μƒκ°ν•œλ‹€. 기둝 APIμ—μ„œ μƒνƒœ 개체λ₯Ό μ‚¬μš©ν•  수 μžˆλŠ” 경우 둜컬 μ €μž₯μ†Œ λ˜λŠ” λ‹€λ₯Έ μƒνƒœ μ €μž₯ 방법을 μ‚¬μš©ν•˜λŠ” 것은 관련이 μ—†μ–΄ λ³΄μž…λ‹ˆλ‹€.

λ§žμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ λ°˜λŒ€μž…λ‹ˆλ‹€. 둜컬 μ €μž₯μ†Œ, μΏ ν‚€ λ˜λŠ” λ‹¨μˆœνžˆ ν˜„μž¬ URL에 μ—°κ²°λ˜μ§€ _μ•„λ‹Œ_ μƒνƒœλ₯Ό μ €μž₯ν•˜λŠ” λ‹€λ₯Έ 방법이 μžˆλŠ” 경우 μƒνƒœ 개체λ₯Ό μ‚¬μš©ν•˜λŠ” 것은 관련이 μ—†μŠ΅λ‹ˆλ‹€.

제곡된 도ꡬλ₯Ό ν™œμš©ν•˜λŠ” 것이 더 쒋지 μ•Šμ€ μ΄μœ λŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ? μƒνƒœ κ°œμ²΄λŠ” 이전 μƒνƒœλ₯Ό μ €μž₯ν•˜κ³  μ•‘μ„ΈμŠ€ν•˜λŠ” 직접적인 방법을 μ œκ³΅ν•©λ‹ˆλ‹€. μ‚¬μš©μžκ°€ νŽ˜μ΄μ§€μ— 도착할 λ•Œλ§ˆλ‹€ 둜컬 μ €μž₯μ†Œλ₯Ό νƒμƒ‰ν•˜λŠ” λŒ€μ‹  history.stateλ₯Ό μ‚¬μš©ν•  수 있으면 URL 경둜λ₯Ό 톡해 보기의 일반 μƒνƒœλΏλ§Œ μ•„λ‹ˆλΌ μ‚¬μš©μžκ°€ 둜 λŒμ•„κ°€κ³  싢을 μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

제 μƒκ°μ—λŠ” 라우트λ₯Ό μ‚¬μš©ν•˜λŠ” κ°„λ‹¨ν•œ 앱은 라우트λ₯Ό κ°„λ‹¨ν•˜κ²Œ μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€. 전체 κ²½ν—˜μ„ μœ„ν•΄ URL을 λ³΅μ‚¬ν•˜μ—¬ λΆ™μ—¬λ„£μŠ΅λ‹ˆλ‹€. λ³΅μž‘ν•œ 앱은 경둜λ₯Ό μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 일반 μ˜μ—­ λ˜λŠ” νŠΉμ • λ ˆμ½”λ“œμ— λŒ€ν•œ λ‹¨μˆœν•œ μ§„μž…μ μœΌλ‘œλ§Œ μ‚¬μš©ν•΄μ•Ό ν•˜λ©°, μ‚¬μš©μž(μ„œλ²„), μ„Έμ…˜ λ˜λŠ” λ‘œμ»¬μ΄λ“  간에 지속성 μœ ν˜•μ„ 더 잘 λ‚˜νƒ€λ‚΄λŠ” μŠ€ν† λ¦¬μ§€ APIλ₯Ό μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.

기둝 μƒνƒœ 개체λ₯Ό μ‚¬μš©ν•˜λ©΄ 단일 νŽ˜μ΄μ§€ 앱이 URL을 잠재적으둜 영ꡬ적인 μ±…κ°ˆν”Όλ‘œ μ‚¬μš©ν•  수 μžˆλŠ” κ°„λ‹¨ν•œ λ°©λ²•μ˜ μž₯점을 λ¬΄νš¨ν™”ν•©λ‹ˆλ‹€.

백본은 항상 λ‹€λ₯Έ ν”„λ ˆμž„μ›Œν¬λ³΄λ‹€ 맀우 μœ μ—°ν•˜κ³  덜 λ…λ‹¨μ μ΄μ—ˆμŠ΅λ‹ˆλ‹€. 이것이 κΈ°λ³Έ window.history.pushState와 λ‹€λ₯Έ 이유λ₯Ό 이해할 수 μ—†μŠ΅λ‹ˆλ‹€. μ–΄λ–€ μ‚¬λžŒλ“€μ€ 그것을 μ’‹μ•„ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” 것을 μ΄ν•΄ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ‚¬μš© μ—¬λΆ€λŠ” μ΅œμ’… μ‚¬μš©μžμ—κ²Œ 맑겨야 ν•©λ‹ˆλ‹€.

κ·ΈλŸ¬λ‹ˆ λ‹€μ‹œ 생각해 λ³΄μ‹­μ‹œμ˜€.

@rafayepes λ‚˜λŠ” λ‹Ήμ‹ μ˜ μ£Όμž₯에 μ „μ μœΌλ‘œ λ™μ˜ν•©λ‹ˆλ‹€. μ €λŠ” Backboneκ³Ό κ·Έ λ‹¨μˆœμ„±μ„ μ’‹μ•„ν•˜μ§€λ§Œ 이 API λ³€κ²½μœΌλ‘œ 인해 앱이 URLκ³Ό μƒνƒœ κ°„μ˜ 1:1 관계λ₯Ό μ €μž₯ν•΄μ•Ό ν•  λ•Œ μ½”λ“œμ— λ§Žμ€ λ¬Έμ œμ™€ ν•΄κ²° 방법이 λ„μž…λ˜μ—ˆμŠ΅λ‹ˆλ‹€. History API와 μƒν˜Έ μž‘μš©ν•˜λŠ” κΈ°λ³Έ 방법은 훨씬 더 μ‰¬μšΈ κ²ƒμž…λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰