Chzzk Auto Click Confirm and 1080p

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

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 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);
})();