您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Improved YouTube Transcript for Language learning, click transcript to hide the element below the video.
当前为
// ==UserScript== // @name Improve YouTube Transcript for Language learning // @namespace http://tampermonkey.net/ // @version 0.2 // @description Improved YouTube Transcript for Language learning, click transcript to hide the element below the video. // @author AVES // @include http*://*.youtube.com/watch* // @include http*://youtube.com/watch* // @run-at document-end // ==/UserScript== start(); function add(){ var $bar = document.getElementById("watch8-secondary-actions"); var $newButton= document.createElement('div'); $newButton.className="yt-uix-menu "; var $transcriptButton=document.createElement("button"); $transcriptButton.className="yt-ui-menu-item has-icon yt-uix-menu-close-on-select action-panel-trigger action-panel-trigger-transcript"; var $label=document.createElement("span"); $label.className="yt-ui-menu-item-label"; var $textTranscript = document.createTextNode("Transcript"); $bar.appendChild($newButton); $newButton.appendChild($transcriptButton); $transcriptButton.appendChild($label); $label.appendChild($textTranscript); $transcriptButton.setAttribute("data-trigger-for","action-panel-transcript"); var $windowTranscript=document.getElementById("watch-actions-transcript"); var $h2Transcript= document.getElementsByClassName("yt-card-title"); var $title=document.getElementById("watch-header"); $transcriptButton.onclick=function(){ $title.style.display="none"; var sheet = document.createElement("STYLE"); var t = document.createTextNode(".caption-line-time { display: none; }.caption-line-text { width: 100%; }"); sheet.appendChild(t); document.head.appendChild(sheet); $h2Transcript[0].style.float="right"; $h2Transcript[0].style.padding="0 10px"; var $close= document.getElementById("action-panel-dismiss"); setTimeout(function(){$close.onclick=function(){$title.style.display="block";};},10); }; } function start() { var pagecontainer=document.getElementById('page-container'); if (!pagecontainer) return; if (/^https?:\/\/www\.youtube.com\/watch\?/.test(window.location.href)) run(); var isAjax=/class[\w\s"'-=]+spf\-link/.test(pagecontainer.innerHTML); var logocontainer=document.getElementById('logo-container'); if (logocontainer && !isAjax) { // fix for blocked videos isAjax=(' '+logocontainer.className+' ').indexOf(' spf-link ')>=0; } var content=document.getElementById('content'); if (isAjax && content) { // Ajax UI var mo=window.MutationObserver||window.WebKitMutationObserver; if(typeof mo!=='undefined') { var observer=new mo(function(mutations) { mutations.forEach(function(mutation) { if(mutation.addedNodes!==null) { for (var i=0; i<mutation.addedNodes.length; i++) { if (mutation.addedNodes[i].id=='watch7-container' || mutation.addedNodes[i].id=='watch7-main-container') { // old value: movie_player run(); break; } } } }); }); observer.observe(content, {childList: true, subtree: true}); // old value: pagecontainer } else { // MutationObserver fallback for old browsers pagecontainer.addEventListener('DOMNodeInserted', onNodeInserted, false); } } } function onNodeInserted(e) { if (e && e.target && (e.target.id=='watch7-container' || e.target.id=='watch7-main-container')) { // old value: movie_player run(); } } function finalButton(){ var buttonIframeDownload = document.createElement("iframe"); buttonIframeDownload.src = '//www.youtubeinmp3.com/widget/button/?color=ba1717&video=' + window.location.href; buttonIframeDownload.scrolling = "no"; buttonIframeDownload.id = "buttonIframe"; buttonIframeDownload.style = "width:100%;height:60px;padding-top:20px;padding-bottom:20px;"; document.getElementById("watch-header").appendChild(buttonIframeDownload); } function run(){ if(!document.getElementById("parentButton") && window.location.href.substring(0, 25).indexOf("youtube.com") > -1 && window.location.href.indexOf("watch?") > -1){ var parentButton = document.createElement("div"); parentButton.className = "yt-uix-button yt-uix-button-default"; parentButton.id = "parentButton"; parentButton.style = "height: 23px;margin-left: 28px;padding-bottom:1px;"; parentButton.onclick = function () { this.style = "display:none"; finalButton(); }; document.getElementById("watch7-user-header").appendChild(parentButton); var childButton = document.createElement("span"); childButton.appendChild(document.createTextNode("Download MP3")); childButton.className = "yt-uix-button-content"; childButton.style = "line-height: 25px;font-size: 12px;"; parentButton.appendChild(childButton); add(); } }