Chzzk Auto Click Confirm and 1080p

Automatically click the ad block confirmation button and set streaming quality to 1080p on Chzzk

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         Chzzk Auto Click Confirm and 1080p
// @namespace    http://tampermonkey.net/
// @version      1.3
// @description  Automatically click the ad block confirmation button and set streaming quality to 1080p on Chzzk
// @match        *://chzzk.naver.com/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // 광고차단 팝업의 "확인" 버튼 클릭 함수 (광고 차단 프로그램 팝업일 때만)
    const autoClickAdBlockConfirmButton = () => {
        const confirmButton = document.querySelector('.button_container__ppWwB.button_primary__b63Y7');
        
        // "광고 차단 프로그램을 사용 중이신가요?" 텍스트가 포함된 요소 확인
        const adBlockMessage = Array.from(document.querySelectorAll('div')).find(div => div.innerText.includes("광고 차단 프로그램을 사용 중이신가요?"));
        
        // "광고 차단 프로그램" 텍스트가 있는 팝업이 나타날 때만 "확인" 버튼을 클릭
        if (confirmButton && adBlockMessage) {
            confirmButton.click(); // "확인" 버튼 클릭
        }
    };

    // 화질을 1080p로 설정하는 함수
    const setQualityTo1080p = () => {
        const qualityItems = document.querySelectorAll('.pzp-pc-ui-setting-quality-item');

        qualityItems.forEach(item => {
            const qualityLabel = item.querySelector('.pzp-pc-ui-setting-quality-item__prefix');
            if (qualityLabel && qualityLabel.textContent.includes('1080p')) {
                item.click(); // 1080p를 클릭하여 화질 변경
            }
        });
    };

    // 페이지 로드 시 작업 초기화
    const initialize = () => {
        autoClickAdBlockConfirmButton();
        setQualityTo1080p();

        // MutationObserver로 팝업이 다시 나타나는 경우 자동 클릭 및 화질 설정
        const observer = new MutationObserver(() => {
            autoClickAdBlockConfirmButton();
            setQualityTo1080p();
        });

        observer.observe(document.body, { childList: true, subtree: true });
    };

    // 페이지 로드 및 뒤로 가기 시 이벤트 트리거
    window.addEventListener('load', initialize);
    window.addEventListener('popstate', initialize);
})();