show youtube's video date behind subscription button

show youtube's video date behind subscription button.

  1. // ==UserScript==
  2. // @name show youtube's video date behind subscription button
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.7
  5. // @description show youtube's video date behind subscription button.
  6. // @author You
  7. // @match *://*.youtube.com/*
  8. // @grant none
  9. // @license MIT
  10. // ==/UserScript==
  11. (function() {
  12. 'use strict';
  13.  
  14. let container = "#container";
  15. let topRow = "#top-row";
  16. let bottomRow = "#bottom-row";
  17. let description = "#description";
  18. let descriptionInner = "#description-inner";
  19. let infoIcontainer= "#info-container";
  20.  
  21. const separator = /<span[^>]*>/;
  22.  
  23. const intervalID = setInterval(checkContainer, 300);
  24. function checkContainer(){
  25. if(document.querySelector(bottomRow)!=null){
  26. console.log("container loaded");
  27. clearInterval(intervalID);
  28. console.log("interval cleared.");
  29. let viewNum = getViewNum();
  30. let timeout = setTimeout(function() {
  31. showDate(viewNum);
  32. },1000);
  33. }
  34. }
  35.  
  36. function getViewNum(){
  37. return document.querySelector(".style-scope.ytd-watch-metadata#info").innerHTML.split(separator)[1].split(/<\/span>/)[0];
  38. }
  39.  
  40. function showDate(viewNum){
  41. let divDate = document.createElement("div");
  42. let getInnerHTML = document.querySelector(".style-scope.ytd-watch-metadata#info").innerHTML
  43.  
  44. console.log("To show date:" + getInnerHTML.split(separator));
  45.  
  46. let vdate = getInnerHTML.split(separator)[3].split(/<\/span>/)[0];
  47. divDate.innerHTML = "<pre><span style=\"font-size:180%;font-weight:bold;\"> " + vdate + "</span>" + "<br /><br />" + "<span style=\"font-size:130%;font-weight:bold;\"> " + viewNum + "</span></pre>";
  48.  
  49. console.log("To show date:" + viewNum + "\n" + vdate);
  50.  
  51. let Node2insert = document.querySelector(".item.style-scope.ytd-watch-metadata#owner");
  52. Node2insert.insertBefore(divDate, null);
  53. }
  54.  
  55. })();