您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Appends the each annotation text to a textbox box below the video for easy copying.
当前为
- // ==UserScript==
- // @name YouTube Annotation Ripper
- // @namespace D.D.
- // @version 1.0
- // @description Appends the each annotation text to a textbox box below the video for easy copying.
- // @include *youtube.*/watch?v=*
- // @copyright 2014+, RGSoftware
- // @run-at document-body
- // @author R.F Geraci
- // @grant GM_notification
- // @icon64 http://icons.iconarchive.com/icons/simekonelove/modern-web/64/youtube-icon.png
- // ==/UserScript==
- var apParent, Anno, cDiv,i, txtbox, Interval,
- TextboxWidth, TextboxHeight, TextboxMargin,
- TextboxResize, TextboxBorder, TextboxOutline,
- InitialMsg, TextboxReadOnly, CompletedAnnotationNewClassName,
- MissingHTMLErrorMsg;
- //=========================CUSTOM SETTINGS==========================================================
- Interval = 1000;
- TextboxWidth = "839px";
- TextboxHeight = "75%";
- TextboxMargin = "10px";
- TextboxResize = "none";
- TextboxBorder = "none";
- TextboxOutline = "none";
- TextboxReadOnly = "true";
- InitialMsg = "̶̶̶̶̶̶̶̶̶═══════════════════════════ Any annotations from the video will show here as it plays ═══════════════════════════";
- MissingHTMLErrorMsg = "A YouTube element is missing or has been renamed. 'YouTube Annotation Grabber' code must be updated.";
- CompletedAnnotationNewClassName = "inner-done-text";
- //===================================================================================================
- function CreateElements(){
- apParent = document.getElementById('watch7-content');
- Anno = document.getElementsByClassName('inner-text');
- cDiv = document.createElement('div');
- cDiv.id = 'cDiv';
- cDiv.setAttribute('style', 'width: 100%; height: 100px; border-bottom: 1px solid #E6E6E6; border-top: 1px solid #E6E6E6;');
- apParent.insertBefore(cDiv, apParent.firstChild);
- txtbox = document.createElement('textarea');
- txtbox.id = 'cDivTxtBox';
- txtbox.innerHTML = InitialMsg;
- txtbox.setAttribute('readonly', TextboxReadOnly);
- txtbox.setAttribute('style', 'width: '+ TextboxWidth +';' + 'height: ' + TextboxHeight + ';' + 'margin: ' + TextboxMargin + ';'
- + 'resize: ' +TextboxResize + ';' + 'border: ' + TextboxBorder + ';' + 'outline: ' + TextboxOutline + ';'); //height:75px
- cDiv.appendChild(txtbox);
- }
- function getAnno(){
- for (i=0; i<Anno.length; i++){
- if (Anno[i].innerHTML != ""){
- txtbox.value += "\n\n" + Anno[i].innerHTML;
- Anno[i].className = CompletedAnnotationNewClassName;
- }
- }
- }
- function Tmsg(message, title){
- GM_notification(message, title);
- }
- if (document.getElementById('watch7-content') == undefined){
- Tmsg(MissingHTMLErrorMsg, "YouTube Annotation Grabber Error");
- }else{
- CreateElements();
- window.setInterval(getAnno, Interval);
- }