3월 20일에 확인해 본 결과, 이제 막혀서 네이버 카페에서 작동하지 않는다. 예전엔 모바일 페이지도 됐다가 막혔었는데 이제 pc 페이지도 같은 방식으로 막혀버렸다.
아직 다음 카페는 정상 작동하니 확장을 내리진 않을 예정이다. (본격 이름과 실제가 다른 것...)
예전에 네이버 카페 패스라는 브라우저 확장을 만들었었다. 간단한 확장이라 업데이트할 게 없어서 방치 상태였는데 최근에(라기엔 꽤 예전부터 예고해 왔지만…) 크롬이 Manifest V3이란 걸 들고나오면서 업데이트해야 하는 상황이 왔다.
간단한 확장이라 변환도 간단할 줄 알았지만, 하필 V3에서 큰 변경점 중 하나인 webRequest를 사용 중인 확장이라 알아봐야 할 게 많았다.
webRequest 대신 사용해야 하는 declarativeNetRequest는 요청을 읽고 동적으로 처리할 수가 없다. json 파일에 규칙을 미리 적어놔야 하는데 게시글 주소로 접속했을 때 네이버 검색으로 속이는 건 정해져 있으니까 간단했다.
근데 기존에 게시글 목록에서 게시글을 새 탭으로 열었을 때도 작동하는 기능은 url에서 id를 뽑아 요청을 보내서 카페 이름을 알아내야 하는데 요청을 보내는 부분 때문에 동적으로 처리할 수밖에 없었다. 계속 찾아봤지만, 방법을 못 찾아서 이 꿀기능을 포기해야 하나 싶었지만 다행 요청을 보내지 않고도 구현하는 방법을 알아내서 해결되었다. 구조도 더 간결해진 건 덤ㅎㅎ
V3로 업데이트를 완료하고 보너스로 다음 카페 지원도 추가했다. 네이버 카페는 리퍼러를 네이버 검색으로 조작해야 하지만 다음 카페는 더 간단하게 url에 q 파라미터만 추가하면 된다.
Manifest V3로 이전을 완료하고 다음 카페 지원도 추가한 네이버 카페 패스 확장은 아래 링크에서 받을 수 있다. (기존과 링크 동일)
- Firefox: https://addons.mozilla.org/ko/firefox/addon/네이버-카페-패스/
- Chrome: https://chrome.google.com/webstore/detail/네이버-카페-패스/gipgjcnhbklggnannochejcaieghkmcn
- Whale: https://store.whale.naver.com/detail/jbhpjfbiohcbmahilfnkaencepaaohmn
목록에 없더라도 크롬 웹 스토어 이용이 가능한 브라우저라면 크롬 링크에서 설치하면 된다.
리포지토리: https://github.com/joyfuI/NaverCafePass
개발 중 테스트하면서 알았는데 크롬에서는 잘 작동하는 확장이 파이어폭스에서는 무슨 짓을 해도 작동하지 않았다. 알고 보니까 설치 시 권한에 대해 확인하고 설치하는 Manifest V2와 다르게 Manifest V3는 설치 후 권한을 수동으로 활성화해 줘야 한다.
임시 확장 설치 기능으로 설치하면 크롬은 자동으로 권한을 활성화해 주는 데에 비해 파이어폭스는 그렇지 않아서 생긴 문제였다. 부가기능 메뉴에서 수동으로 권한 활성화를 해줘야 한다. 너무 불편한 거 아닌가 싶은데 실제로 확장을 설치했을 때 권한을 수동으로 활성화해 줘야하기 때문에 이거 아니었으면 배포 후에 크롬에서도 작동 안 해서 한참 어리둥절했을 것이다. 근데 그냥 V2처럼 권한 확인받고 바로 활성화해 주면 안 되나… 사용자가 일일이 부가기능 메뉴까지 들어가서 직접 켜줘야 한다니… 너무 사용성이 떨어지는 거 아닌감?
위 이미지처럼 권한을 줘야 한다.
'프로그래밍 > 웹' 카테고리의 다른 글
[Node.js] Fast Node Manager(fnm) 설치하기 (0) | 2024.07.14 |
---|---|
[JavaScript] DOMContentLoaded 이벤트가 작동하지 않을 때 (0) | 2023.06.18 |
[JavaScript] query string를 object로 변환하기 (0) | 2023.04.23 |
[JavaScript] Debounce, Throttle 함수 (0) | 2023.03.18 |
[JavaScript] window.open()으로 연 창에서 onload 이벤트가 실행되지 않을 때 (2) | 2022.11.16 |
Tailwind CSS 클래스 모음집 사이트 (0) | 2022.07.31 |
[CSS] 간단한 중앙 정렬 (0) | 2022.07.09 |
[Node.js] 로컬 패키지 사용하기(+alias) (0) | 2022.06.13 |