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

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

目前为 2024-01-16 提交的版本。查看 最新版本

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

QingJ © 2025

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