Replace Title Conlon

Replace Title Conlon in the web page

  1. // ==UserScript==
  2. // @name Replace Title Conlon
  3. // @namespace h
  4. // @version 1.2
  5. // @description Replace Title Conlon in the web page
  6. // @author amormaid
  7. // @include http*://*/*
  8. // @grant none
  9. // @run-at document-end
  10. // @license MIT License
  11. // ==/UserScript==
  12.  
  13. (function() {
  14. 'use strict';
  15.  
  16. function sleep(ms) {
  17. return new Promise(resolve => setTimeout(resolve, ms))
  18. }
  19.  
  20. function is(target, type){
  21. return Object.prototype.toString.call(target).slice(8, -1).toLowerCase() === `${type}`.toLowerCase()
  22. }
  23.  
  24. function get_the_most_used_fontsize() {
  25. let nodes = document.querySelectorAll('*');
  26. let nodes_filtered = Array.from(nodes).filter(e => {
  27. let is_non_text = ['SCRIPT', 'STYLE', 'TEXTAREA'].includes(e.nodeName);
  28. let is_text = e.childNodes.length && is(e.childNodes[0], 'text');
  29. return !is_non_text && is_text
  30. });
  31.  
  32. let statistics = nodes_filtered.reduce((acc, cur) => {
  33. let fontSize = getComputedStyle(cur).fontSize
  34. acc[fontSize] = (acc[fontSize] || 0) + 1
  35. return acc
  36. },{})
  37. let the_most_used = Math.max(...Object.values(statistics))
  38. let the_most_used_fontsize = Object.keys(statistics).find(key => statistics[key] === the_most_used)
  39. return the_most_used_fontsize
  40. }
  41.  
  42. async function run() {
  43. await sleep(3000)
  44. let content_fontsize = parseInt(get_the_most_used_fontsize())
  45.  
  46. let content_to_replaced = Array.from(document.querySelectorAll('*')).filter(e => !['SCRIPT', 'STYLE', 'TEXTAREA'].includes(e.nodeName) && e.childNodes.length && is(e.childNodes[0], 'text') && e.innerHTML && e.innerHTML.includes(':'))
  47.  
  48. content_to_replaced.forEach(e => {
  49. if(parseFloat(getComputedStyle(e).fontSize) > content_fontsize) {
  50. console.log('replcing ', e)
  51. e.innerHTML = e.innerHTML.replace(':', ' ')
  52. e.style.color = 'red'
  53. }
  54. })
  55. }
  56.  
  57. run()
  58.  
  59. })();
  60.  

QingJ © 2025

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