프론트엔드/javascript26 SPA에서 History API 이해 SPA에서 History API 이해 주소 내역은 하나의 목록이다. 뒤로가기, 앞으로가기는 목록 안에서 이동하는 것이다. 따라서, 목록에 새로운 주소를 추가하면 페이지를 이동한 셈이 된다. 목록에 주소를 추가하기 위한 메소드(history.pushState(). history.replaceState())가 HTML5에서 생겼다. 예제를 만들고 테스트하며 목록에 주소를 추가하는 메소드 history.pushState(), historyreplaceState()를 비교하자. 아래 예제를 book 폴더 아래에 만든다. pushState replaceState ①'pushState' 버튼을 클릭하면, 페이지가 새로 갱신되지 않지만 주소만 바뀌고, 뒤로가기 버튼이 활성화된다. 주소 목록에 새로운 주소가 추가된다... 2023. 10. 16. Web APIs - window size & browser coordinate & scroll Web APIs - window size & browser coordinate & scroll Web API 중 유용한 기능(사이즈, 좌표, 스크롤) 세 가지를 정리해 본다. 1. window size window.screen.width // 모니터 사이즈 window.outerWidth //브라우저 사이즈(주소창, 탭 포함) window.innerWidth // 페이지 사이즈 document.documentElement.clientWidth // 문서 사이즈(스크롤바 제외한 영역) window가 resize 될 때마다 window.outer, window.inner, documentElement.clientWidth 값이 업데이트 된다. 2. browser coordinate element.getBou.. 2022. 4. 6. 배열에서 id 로 object를 찾는 방법 배열에서 id 로 object를 찾는 방법 "Find object by id in an array of JavaScript objects stackoverflow에서 id를 매치하여 object를 찾는 방법에 대해 굉장히 좋은 글을 발견해 내용을 이 곳에 옮겨본다. 테스트 방법 id로 특정 object를 찾는 방법에 총 11가지 방법을 사용하여 속도 테스트를 하였다. 총 11가지 방법은 다음과 같다. A : find B : findIndex C : filter D : reduce E : for F : $.each G : $.grep H : $.map I : _.find J : cache K : map L :object {} 테스트 결과 Conclusions for solutions which use pr.. 2022. 3. 25. 노드 동적 생성과 DocumentFragment 노드 동적 생성과 DocumentFragment DocumentFragment 노드는 문서, 요소, 어트리뷰트, 텍스트 노드와 같은 노드 객체의 일종으로, 부모 노드가 없어서 기존 DOM과는 별도로 존재한다는 특징이 있다. DocumentFragment 노드는 컨테이너 요소와 같이 자식 노드들의 부모 노드로서 별도의 서브 DOM을 구성하여 기존 DOM에 추가하기 위한 용도로 사용한다. DocumentFragment는 활성화된 문서 트리 구조의 일부가 아니기 때문에 fragment를 변경해도 문서에는 영향을 미치지 않으며(reflow 포함) 성능에도 영향이 없다. https://developer.mozilla.org/ko/docs/Web/API/DocumentFragment DocumentFragment .. 2022. 2. 3. fetch 함수로 html 문서 로드하기 fetch 함수로 html 문서 로드하기 fetch 함수는 1. XMLHttpRequest 객체와 마찬가지로 HTTP 요청 전송 기능을 제공하는 클라이언트 사이드 Web API 다. 2. XMLHttpRequest 객체보다 사용법이 간단하고 프로미스를 지원하기 때문에 비동기 처리를 위한 콜백 패턴의 단점에서 자유롭다. 3. 비교적 최근에 추가된 Web API로서 인터넷 익스플로러를 제외한 대부분의 모던 브라우저에서 제공한다. 4. fetch 함수에는 HTTP 요청을 전송할 URL과 HTTP 요청 메서드, HTTP 요청 헤더, 페이로드 등을 설정한 객체를 전달한다. Fetch API : https://developer.mozilla.org/ko/docs/Web/API/Fetch_API Fetch API -.. 2022. 1. 14. collapse toggle(show&hide) vanilla javascript collapse toggle(show&hide) vanilla javascript '접혔다 펼쳤다' 를 자바스크립트로 구현할 때, 단순히 '있다 없다' 를 구현하기는 쉽지만, 자연스럽게 '접혔다 펼쳤다' 를 구현하기는 생각보다 까다롭다. jquery 로 구현할 때는 자연스럽게 구현하는 것에 대한 고민을 할 필요가 없다. $(document).ready(function(){ $("button").click(function(){ $("p").toggle(1000); }); }); jquery 라이브러리 도움 없이 pure javascript로만 자연스러운 toggle 기능을 구현할 때 어려운 점은, 펼쳐진 영역의 height 값을 알아내기가 까다롭다는 점이다. (height auto 이면 transition.. 2022. 1. 11. 이전 1 2 3 4 5 다음