Youtube油管视频播放量优化显示

Youtube 根据国人的使用习惯显示播放量,将【70,929,536,37】 转换为 【70.93亿次】观看,同时显示视频的具体发布时间

  1. // ==UserScript==
  2. // @name Youtube油管视频播放量优化显示
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.3.3
  5. // @license MIT
  6. // @description Youtube 根据国人的使用习惯显示播放量,将【70,929,536,37】 转换为 【70.93亿次】观看,同时显示视频的具体发布时间
  7. // @author 磊落不凡
  8. // @match https://www.youtube.com/*
  9. // @match https://www.youtube.com/watch?v=*
  10. // @icon https://www.google.com/s2/favicons?sz=64&domain=youtube.com
  11. // @grant GM_info
  12. // @grant GM_setValue
  13. // @grant GM_getValue
  14. // @grant unsafeWindow
  15. // @run-at document-end
  16. // ==/UserScript==
  17.  
  18. (function() {
  19. 'use strict';
  20. //window.onload = function(){
  21. //457,806
  22. //1w以下 显示具体数字 9999
  23. //1w-1亿 显示w单位 10000 - 99999999
  24. //1亿+ 显示以为单位
  25. //num是一个字符串 例如:"457,827次观看"
  26.  
  27.  
  28. // let r = toData("1,700,929,536,375次观看");
  29. // let r = toData("457,827次观看");
  30. // let r = `${toData("70,929,536,37")}`
  31. // console.log(r);
  32.  
  33. //}
  34. //window.onload = () => {
  35. function toDataa(num){
  36. //if(num.indexOf(',')==-1){
  37. //return num;
  38. //}
  39. let str = num.replace(/,/g,'')//'457827次观看'
  40. let n_str = parseInt(str)+''//'457827'
  41. let n = parseInt(str)
  42. if(n_str.length<=4){
  43. return n_str + str.substr(n_str.length)
  44. }else if(n_str.length<=8){
  45. return parseFloat((n/10000).toFixed(2))+'万' + str.substr(n_str.length)
  46. }else if(n_str.length<=12){
  47. return parseFloat((n/100000000).toFixed(2))+'亿' + str.substr(n_str.length)
  48. }else{
  49. //比亿亿还大的先按照亿的处理
  50. return parseFloat((n/100000000).toFixed(2))+'亿' + str.substr(n_str.length)
  51. }
  52. }
  53. function isoTotime(iso8601String){
  54. let date = new Date(iso8601String);
  55.  
  56. let year = date.getFullYear();
  57. let month = String(date.getMonth() + 1).padStart(2, "0");
  58. let day = String(date.getDate()).padStart(2, "0");
  59. let hours = String(date.getHours()).padStart(2, "0");
  60. let minutes = String(date.getMinutes()).padStart(2, "0");
  61. let seconds = String(date.getSeconds()).padStart(2, "0");
  62.  
  63. let formattedTime = `${year}/${month}/${day} ${hours}:${minutes}:${seconds}`;
  64. return formattedTime
  65. }
  66. //console.log("Youtube油管视频播放量优化显示")https://www.youtube.com/watch?v=kJQP7kiw5Fk
  67. try {
  68.  
  69. //setInterval
  70. let si = setInterval(()=>{
  71. // 创建<span>元素
  72. var spanElement = null;
  73. if(!document.querySelector('#youtubeInfo_')){
  74. // 获取<h1>元素
  75. var h1Element = document.querySelector("#title h1");
  76. spanElement = document.createElement("span");
  77. spanElement.id="youtubeInfo_";
  78. spanElement.style.fontSize = '14px';
  79. // 将<span>元素插入到<h1>后面
  80. h1Element.parentNode.insertBefore(spanElement, h1Element.nextSibling);
  81. }else{
  82. spanElement = document.querySelector('#youtubeInfo_')
  83. }
  84.  
  85. let infoOBJ = document.querySelector('#microformat script');
  86. if(infoOBJ){
  87. let o = JSON.parse(infoOBJ.innerHTML);
  88. spanElement.textContent = toDataa(o.interactionCount) + "次观看 " + isoTotime(o.uploadDate)
  89. }
  90.  
  91. },1000)
  92.  
  93. } catch (error) {
  94. console.log("Youtube油管视频播放量优化显示错误:")
  95. console.log(error)
  96. }
  97. //}
  98.  
  99. // Your code here...
  100. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址