Merhaf / OSU-Web-Search-Favourites-Playcount-Filter

1 stars 0 forks source link

[1.1 branch review] 동적 업데이트에 대응하는 필터링 방식 개선 제안 #1

Open root39293 opened 1 day ago

root39293 commented 1 day ago

현재 1.1 브랜치의 DOM 직접 조작 방식은 osu 웹사이트의 비트맵페이지에서 필터링을걸때 부분적으로 SPA로 구현되어있어, 동적 업데이트 특성상 문제가 발생할 수 있을거같습니다

  1. MutationObserver로 새 콘텐츠 감지
  2. setInterval 제거하고 이벤트 기반으로 전환

구현예시

const observer = new MutationObserver((mutations) => {
    mutations.forEach((mutation) => {
        if (mutation.addedNodes.length) updateFilters();
    });
});

observer.observe(document.querySelector('.beatmapsets'), {
    childList: true,
    subtree: true
});
Merhaf commented 1 day ago

안녕하세요. 제안해 주신 개선 사항에 대해 감사합니다. setInterval을 제거하면서 리소스 낭비를 줄이게 되니 좋은 것 같습니다. 1.1 브랜치 뿐만 아니라 메인 브랜치에도 적용하도록 하겠습니다. ^-^