[TIL] 채팅방 디버깅

오늘 한 일

  • javascript ` null 체크는 array.length==0 대신 !array` 로 간결하게 쓴다.

  • JSTL에서 날짜계산

    오늘 날짜와 DB에서 받아온 write_date를 비교해서 같을 경우 formedTime, 하루 차이일 경우 어제, 나머지 경우에는 날짜를 띄워주었다.

    <jsp:useBean id="now" class="java.util.Date" />
    <fmt:formatDate value="${now}" pattern="yyyy-MM-dd" var="nowFormed" />
    <fmt:parseNumber value="${now.time / (1000*60*60*24)}" integerOnly="true" var="nowDays" scope="request"/>
    
    <div class="con-date" id="con-date${i.seq}">
    	<fmt:formatDate value="${i.write_date}" pattern="yyyy-MM-dd" var="formed"/>
    	<fmt:formatDate value="${i.write_date}" pattern="HH:mm" var="formedTime"/>
    	<fmt:parseNumber value="${i.write_date.time / (1000*60*60*24)}" integerOnly="true" 	var="formedDays" scope="request"/>
        <c:choose>
           <c:when test="${nowFormed==formed}">
                ${formedTime}
    		</c:when>
        	<c:when test="${nowDays-formedDays==1}">
            어제
        	</c:when>
        	<c:otherwise>
                    ${formed}
    		</c:otherwise>
        </c:choose>
    </div>
    
  • 특정 DIV를 DIV목록 제일 위로 이동하기

      let parent = document.getElementById("chatList"); // <ul>태그
      let child = document.getElementById("chat-list${i.seq}"); // <ul>태그 아래 특정 <li>
      parent.insertBefore(child,parent.firstChild); // <ul>의 가장 첫번째 자식으로 insert
    
  • redirect 할 때 뒤로가기시에 수정전 내용이 보이는 것을 막아줌

      window.location.replace("/document/d_searchRaise.document");
    
  • 검색 시 메세지 리스트 10개만 잘라서 가져오기

  • 리스트 불러오기와 채팅방 검색을 Promise로 수정

      // moreList는 Promise로 resolve(addedHeight)를 넘겨준다.
      // 처음 페이지가 로딩될 때는 리스트를 불러오고 scrollBottom 실행
      $(document).ready(function () {
      	moreList(cpage).then(scrollBottom);
      }
      // 스크롤이 상단에 닿을 때 리스트를 불러오고 scrollfixed 실행
      $("#msg_card_body").scroll(function () {
          let currentScrollTop = $(this).scrollTop(); //스크롤바의 상단위치
           if (currentScrollTop == 0) {
               cpage += 1;
               moreList(cpage).then(scrollfixed);
           }
      }
    

References

파이썬 노트북 실행안됨

자바스크립트를 사용하여 DIV 위치 순서 변경하기

JSTL 날짜비교

댓글남기기