AdGuard의 팝업 차단기는 다양한 브라우저에서 원치 않는 모든 팝업 창을 차단하는 사용자 스크립트입니다.
Chrome, Firefox, Edge, Safari, IE10+ 등 기본적으로 사용자 스크립트 관리자를 지원하는 모든 브라우저에서 작동합니다. 예외는 우리가 사용하는 API를 지원하지 않는 가장 오래된 브라우저 중 일부이며, 스크립트가 제대로 작동하지 않을 수 있습니다.
팝업 차단기는 팝업 감지에 필터링 규칙 접근 방식을 적용하지 않습니다. 대신 팝업을 생성하는 데 사용되는 브라우저의 기본 API 위에 추가 레이어를 추가합니다. 이렇게 하면 이러한 API는 팝업/팝언더 스크립트가 아닌 수동 입력으로 인해 호출될 때만 호출될 수 있습니다. 이를 통해 WebRTC를 사용하거나 광고 서버를 변경하여 일반 광고 차단기를 우회하려는 웹사이트에서도 팝업을 차단할 수 있습니다.
자명하지만 중요합니다. 클릭으로 인해 팝업이 표시되는 경우 팝업이 차단될 뿐만 아니라 초기 클릭도 팝업이 없는 것처럼 처리됩니다.
페이지의 다른 스크립트는 실제로 팝업을 열려고 시도하는 것 외에는 팝업 차단기가 사용되고 있음을 감지할 수 없습니다. 이렇게 하면 팝업 차단기의 우회 가능성을 방지할 수 있습니다.
현재 릴리스 버전 : https://userscripts.adtidy.org/release/popup-blocker/2.5/popupblocker.user.js
현재 베타 버전: https://userscripts.adtidy.org/beta/popup-blocker/2.5/popupblocker.user.js
팝업 차단기는 AdGuard를 개발한 팀에서 개발 중이며 Windows용 AdGuard는 사용자 스크립트 관리자 역할을 할 수 있습니다. AdGuard 사용자라면 설정 – 확장 프로그램 – 확장 프로그램 추가로 이동하여 원하는 팝업 차단기 .js 파일 URL을 입력하세요. 이렇게 하면 말 그대로 모든 브라우저에서 사용할 수 있습니다.
반면 Popup Blocker는 독립적인 프로젝트이므로 Greasemonkey, Tampermonkey 또는 Violentmonkey와 같은 다른 사용자 스크립트 관리자와 함께 사용할 수 있습니다. 팝업 차단기를 사용하려면 그 중 하나가 브라우저에 설치되어 있는지 확인하십시오. (주소 표시줄에 스크립트 URL을 입력하면 관리자가 자동으로 감지합니다.)
전용 옵션 페이지에서 허용 목록에 있는 도메인과 침묵 도메인 목록을 관리할 수 있습니다.
버그를 신고하려면 이 페이지로 이동하여 새 문제를 만드세요.
팝업 차단기를 다른 언어로 번역하는 데 도움을 주실 수 있습니다! Crowdin에 대한 우리 프로젝트는 공개 기여를 위해 열려 있습니다.
개발 빌드에는 로깅이 활성화되어 있으며 훨씬 더 많은 브라우저 API를 재정의하여 팝업/팝언더 스크립트의 동작을 검사합니다. 일반적인 사용에는 적합하지 않습니다.
개발 빌드에 대한 단위 테스트는 여기에 있습니다.
프로젝트를 빌드하려면 다음 단계를 따르세요.
터미널에서 다음 명령을 실행하여 로컬 종속성을 설치합니다.
yarn install
빌드하려면 터미널에서 다음 명령을 실행하세요.
$ NODE_ENV=<channel> ts-node tasks/builder --target=<target>
channel
원하는 채널( dev
, beta
또는 release
로 바꿉니다. 또한 target
원하는 빌드 대상으로 바꾸십시오.
userscript
– 지정된 채널에 대한 사용자 스크립트를 작성합니다.options
– 허용된 웹사이트와 차단된 웹사이트를 사용자에게 편리하게 관리할 수 있는 방법을 제공하는 독립형 페이지인 빌드 옵션 페이지tests
- 빌드 테스트;bundle
– 지정된 채널에 대해 위의 모든 항목을 빌드하고 번들링합니다.또는 미니멀 스타일로 다음 명령을 실행할 수 있습니다.
yarn userscript-<channel>
yarn options-page
yarn tests
yarn bundle:dev
yarn bundle:beta
yarn bundle:release
개발용으로 빌드하는 경우 출력이 축소되지 않으며 브라우저 콘솔에 로그가 포함된다는 점에 유의하세요.
베타 및 릴리스 빌드가 축소되고 모든 로깅 코드가 제거됩니다.
옵션 페이지를 사용하여 빌드하고, cd
명령을 통해 빌드 폴더로 이동한 후 원하는 로컬 서버를 실행하세요.
yarn options-page
특정 주소와 포트를 허용하려면 option-init.ts
에서 isOptionsPage
수정하세요. 그런 다음 해당 사용자 스크립트(예: AG)에도 이 주소와 포트가 포함되어 있는지 확인하세요.
옵션 페이지를 보려면 AG가 디버그 페이지를 필터링하는지 확인하세요.
스크립트를 테스트하는 쉬운 방법은 http://code.ptcong.com/better-js-popunder-script/를 방문하는 것입니다.
해당 페이지의 아무 곳이나 클릭하면 팝언더가 표시되고, 특정 링크를 사용하면 팝업/팝언더/탭업 등이 표시됩니다.
예상되는 동작: 오른쪽 상단에 알림이 표시되면서 새 창이 차단됩니다.
옵션 페이지는 수동 작업인 Deploy popup blocker beta
및 beta
및 release
버전용 Deploy popup blocker release
통해 GitHub 페이지를 통해 배포됩니다.