puhutv Picture in Picture

Picture in Picture mode for puhutv

// ==UserScript==
// @name         puhutv Picture in Picture
// @name:tr         puhutv Picture in Picture
// @namespace    puhutvPiP
// @version      1.3.1
// @description  Picture in Picture mode for puhutv
// @description:tr  puhutv için Picture in Picture modu
// @author       Runterya
// @homepage     https://github.com/Runteryaa
// @match        https://puhutv.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=puhutv.com
// @grant        none
// @license      MIT
// @compatible   chrome
// @compatible   edge
// @compatible   opera
// @compatible   safari
// ==/UserScript==

console.log("puhutvPiP");

// Wait for the page to load
window.addEventListener('load', () => {
    // Add a delay of 2 seconds before adding the button
    setTimeout(() => {
        // Find the video player element (you may need to adjust the selector)
        const vid = document.querySelector('#dyg-player-new-player_html5_api');

        // Find the target div element
        const targetDiv = document.querySelector('[title="Tam Ekran"]') || document.querySelector('.vjs-fullscreen-control');

        // Add the Picture-in-Picture button just before the target div
        const pipBtn = document.createElement('button');
        pipBtn.id = 'pip-btn';
        pipBtn.className = 'vjs-icon-picture-in-picture-enter vjs-control vjs-button';

        pipBtn.style.fontSize = '26px';
        pipBtn.style.width = '40px';
        pipBtn.style.height = '30px';
        pipBtn.style.color = '#828282';
        pipBtn.style.cursor = 'pointer';

        // Append the button directly to the document body
        document.body.appendChild(pipBtn);


        // Insert the container just before the target div
        targetDiv.parentNode.insertBefore(pipBtn, targetDiv);

        // Function to toggle Picture-in-Picture mode
        // Function to toggle Picture-in-Picture mode
        const togglePiP = () => {
            const vid = document.querySelector('#dyg-player-new-player_html5_api');

            // Check if the browser supports requestPictureInPicture
            if ('pictureInPictureEnabled' in document && document.pictureInPictureEnabled) {
                if (document.pictureInPictureElement === vid) {
                    document.exitPictureInPicture();
                } else {
                    // Request Picture-in-Picture mode
                    vid.requestPictureInPicture()
                        .then(() => {
                        console.log('Entered Picture-in-Picture mode.');
                    })
                        .catch((error) => {
                        console.error('Error entering Picture-in-Picture mode:', error);
                    });
                }
            } else {
                // Alert the user that Picture-in-Picture is not supported
                alert('Your browser does not support Picture-in-Picture mode.');
            }
        };

        // On click of the PiP button, toggle Picture-in-Picture mode
        pipBtn.addEventListener('click', togglePiP);


        // On click of the PiP button, toggle Picture-in-Picture mode
        pipBtn.addEventListener('click', togglePiP);
    }, 3000);
});

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址