您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Add two download buttons to YouTube videos that allow you to download MP3 or Video without leaving the page with the option to choose the quality.
// ==UserScript== // @name Simple YouTube MP3/VIDEO Buttons // @namespace https://youtubemp3api.com/ // @version 0.8 // @description Add two download buttons to YouTube videos that allow you to download MP3 or Video without leaving the page with the option to choose the quality. // @author Arari, dLehr, Rene (edited) // @include http*://*.youtube.com/* // @include http*://youtube.com/* // @include http*://*.youtu.be/* // @include http*://youtu.be/* // @run-at document-end // ==/UserScript== var lastId = "" function getYTId(url){ var regExp = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*/; var match = url.match(regExp); return (match&&match[7].length==11)? match[7] : false; } function audioMp3(){ /* Create button */ var buttonDiv = document.createElement("div"); buttonDiv.style.width = "100%"; buttonDiv.id = "parentButton"; var addButton = document.createElement("button"); addButton.appendChild(document.createTextNode("Download MP3")); if(typeof(document.getElementById("iframeDownloadButton")) != 'undefined' && document.getElementById("iframeDownloadButton") !== null) { document.getElementById("iframeDownloadButton").remove(); } addButton.style.width = "100%"; addButton.style.backgroundColor = "#181717"; addButton.style.color = "white"; addButton.style.textAlign = "center"; addButton.style.padding = "10px"; addButton.style.marginTop = "5px"; addButton.style.fontSize = "14px"; addButton.style.border = "0"; addButton.style.cursor = "pointer"; addButton.style.borderRadius = "2px"; addButton.style.fontFamily = "Roboto, Arial, sans-serif"; addButton.onclick = function () { if(document.getElementById("iframeDownloadButton") !== null) { document.getElementById("iframeDownloadButton").remove(); } /* Add large button on click */ var ytId = getYTId(location.href); if(!ytId)return; var addIframe = document.createElement("iframe"); addIframe.src = '//www.recordmp3.co/#/watch?v='+ytId + '&layout=button'; addIframe.style.width = "300px"; addIframe.style.height = "60px"; addIframe.style.marginTop = "0px"; addIframe.border = "0px"; addIframe.overflow = "hidden"; addIframe.id = "iframeDownloadButton"; var targetElement = document.querySelectorAll("[id='meta']"); for(var i = 0; i < targetElement.length; i++){ if(targetElement[i].className.indexOf("ytd-watch") > -1) { targetElement[i].insertBefore(addIframe, targetElement[i].childNodes[0]); } } }; buttonDiv.appendChild(addButton); /* Find and add to target */ var targetElement = document.querySelectorAll("[id='subscribe-button']"); for(var i = 0; i < targetElement.length; i++){ if(targetElement[i].className.indexOf("ytd-video-secondary-info-renderer") > -1){ targetElement[i].appendChild(buttonDiv); } } } function videoMp4(){ /* Create button */ var buttonDiv = document.createElement("div"); buttonDiv.style.width = "100%"; buttonDiv.id = "parentButton"; var addButton = document.createElement("button"); addButton.appendChild(document.createTextNode("Download VIDEO")); if(typeof(document.getElementById("iframeDownloadButton")) != 'undefined' && document.getElementById("iframeDownloadButton") !== null){ document.getElementById("iframeDownloadButton").remove(); } addButton.style.width = "100%"; addButton.style.backgroundColor = "#181717"; addButton.style.color = "white"; addButton.style.textAlign = "center"; addButton.style.padding = "10px"; addButton.style.marginTop = "5px"; addButton.style.fontSize = "14px"; addButton.style.border = "0"; addButton.style.cursor = "pointer"; addButton.style.borderRadius = "2px"; addButton.style.fontFamily = "Roboto, Arial, sans-serif"; addButton.onclick = function () { if(document.getElementById("iframeDownloadButton") !== null) { document.getElementById("iframeDownloadButton").remove(); } /* Add large button on click */ var ytId = getYTId(location.href); if(!ytId)return; var addIframe = document.createElement("iframe"); addIframe.src = '//www.recordmp3.co/#/watch?v=' + ytId + '&layout=button&format=video&t_press_to_start=Click%20to%20Convert'; addIframe.style.width = "300px"; addIframe.style.height = "40px"; addIframe.style.marginTop = "0px"; addIframe.border = "0px"; addIframe.id = "iframeDownloadButton"; var targetElement = document.querySelectorAll("[id='meta']"); for(var i = 0; i < targetElement.length; i++){ if(targetElement[i].className.indexOf("ytd-watch") > -1){ targetElement[i].insertBefore(addIframe, targetElement[i].childNodes[0]); } } }; buttonDiv.appendChild(addButton); /* Find and add to target */ var targetElement = document.querySelectorAll("[id='subscribe-button']"); for(var i = 0; i < targetElement.length; i++){ if(targetElement[i].className.indexOf("ytd-video-secondary-info-renderer") > -1){ targetElement[i].appendChild(buttonDiv); } } } if(document.getElementById("polymer-app") || document.getElementById("masthead") || window.Polymer){ setInterval(function(){ if(window.location.href.indexOf("watch?v=") < 0){ return false; } if(document.getElementById("count") && document.getElementById("parentButton") === null){ audioMp3(), videoMp4(); } }, 100); } else{ standardInject(); }