🎉 欢迎访问GreasyFork.Org 镜像站!本镜像站由公众号【爱吃馍】搭建,用于分享脚本。联系邮箱📮

Greasy fork 爱吃馍镜像

유튜브 팟 플레이어로 보기 버튼 추가

유튜브 동영상을 팟 플레이어로 열 수 있는 버튼을 추가합니다. 기존 영상은 일시 정지 됩니다.

Você precisará instalar uma extensão como Tampermonkey, Greasemonkey ou Violentmonkey para instalar este script.

You will need to install an extension such as Tampermonkey to install this script.

Você precisará instalar uma extensão como Tampermonkey ou Violentmonkey para instalar este script.

Você precisará instalar uma extensão como Tampermonkey ou Userscripts para instalar este script.

Você precisará instalar uma extensão como o Tampermonkey para instalar este script.

Você precisará instalar um gerenciador de scripts de usuário para instalar este script.

(Eu já tenho um gerenciador de scripts de usuário, me deixe instalá-lo!)

🚀 安装遇到问题?关注公众号获取帮助

公众号二维码

扫码关注【爱吃馍】

回复【脚本】获取最新教程和防失联地址

Você precisará instalar uma extensão como o Stylus para instalar este estilo.

Você precisará instalar uma extensão como o Stylus para instalar este estilo.

Você precisará instalar uma extensão como o Stylus para instalar este estilo.

Você precisará instalar um gerenciador de estilos de usuário para instalar este estilo.

Você precisará instalar um gerenciador de estilos de usuário para instalar este estilo.

Você precisará instalar um gerenciador de estilos de usuário para instalar este estilo.

(Eu já possuo um gerenciador de estilos de usuário, me deixar fazer a instalação!)

🚀 安装遇到问题?关注公众号获取帮助

公众号二维码

扫码关注【爱吃馍】

回复【脚本】获取最新教程和防失联地址

Autor
채널샤메
Instalações hoje
0
Total de instalações
100
Avaliações
0 0 0
Versão
0.4
Criado
11/01/2024
Atualizado
16/01/2024
Tamanho
4,34 KB
Licença
N/A
Aplicável a

// ==UserScript==
// @name 유튜브 팟 플레이어로 보기 버튼 추가
// @namespace 유튜브 팟 플레이어로 보기 버튼 추가
// @version 0.2
// @description 유튜브 동영상을 팟 플레이어로 열 수 있는 버튼을 추가합니다, 기존 영상은 일시 정지 됩니다.
// @match *://*.youtube.com/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=YouTube.com
// @author mickey90427
// @license MIT
// ==/UserScript==


(function() {
'use strict';

let videoID = '';

// Extract video ID from the URL
function getVideoID() {
const urlParams = new URLSearchParams(window.location.search);
return urlParams.get('v');
}

// Get the current video's duration in seconds
function getVideoDuration() {
const videoElement = document.querySelector('video');
return videoElement ? videoElement.duration : 0;
}

// Convert time format (hh:mm:ss or mm:ss) to seconds
function timeToSeconds(time) {
const parts = time.split(':');
let hours = 0;
let minutes = 0;
let seconds = 0;

if (parts.length === 3) {
hours = parseInt(parts[0]) || 0;
minutes = parseInt(parts[1]) || 0;
seconds = parseInt(parts[2]) || 0;
} else if (parts.length === 2) {
minutes = parseInt(parts[0]) || 0;
seconds = parseInt(parts[1]) || 0;
}

return hours * 3600 + minutes * 60 + seconds;
}

// Create the PotPlayer URL with the updated start time
function createPotPlayerURL(videoID, startTime) {
const baseURL = 'potplayer:https://www.youtube.com/watch?v=' + videoID;
const params = new URLSearchParams({
t: startTime,
});

return baseURL + '?' + params.toString();
}

// Open the video in PotPlayer with the current playback position
function openInPotPlayer() {
const player = document.querySelector('.html5-main-video');
if (player) {
// Pause YouTube player
player.pause();

// Get the current playback time in seconds
const currentTime = Math.floor(player.currentTime);

// Create the PotPlayer URL
const potPlayerURL = createPotPlayerURL(videoID, currentTime);

// Open the video in PotPlayer with the current playback position
window.location.href = potPlayerURL;
}
}

// Create and append the PotPlayer button
function createPotPlayerButton(videoID) {
const logoContainer = document.getElementById('logo');
if (!logoContainer) {
return;
}

const videoDuration = getVideoDuration();
if (videoDuration === 0) {
setTimeout(function() {
createPotPlayerButton(videoID);
}, 100);
return;
}

// Create the PotPlayer URL
const potPlayerURL = createPotPlayerURL(videoID, '0');

const button = document.createElement('button');
button.textContent = 'Open in PotPlayer';
button.id = 'potplayer-button';
button.setAttribute('data-potplayer-url', potPlayerURL);
button.style.cssText = `
background-color: #ff0;
color: #000;
border: none;
padding: 10px;
margin-left: 10px;
cursor: pointer;
border-radius: 5px;
`;

button.addEventListener('click', openInPotPlayer);

logoContainer.parentNode.insertBefore(button, logoContainer.nextSibling);
}

function waitForLogo() {
const logoContainer = document.getElementById('logo');
if (logoContainer) {
videoID = getVideoID();
if (videoID) {
createPotPlayerButton(videoID);
}
} else {
setTimeout(waitForLogo, 100);
}
}

waitForLogo();
})();