YouTube Title formatted for filename

reformats the titles of YouTube videos to be windows filename compatible on click.

目前为 2020-04-30 提交的版本。查看 最新版本

// ==UserScript==
// @name       YouTube Title formatted for filename
// @namespace  sm
// @version    0.1
// @description  reformats the titles of YouTube videos to be windows filename compatible on click.
// @match      http*://www.youtube.com/watch*
// @copyright  2020, sm
// ==/UserScript==
// @require http://code.jquery.com/jquery-3.4.1.min.js

console.log("docReady waiting ")

docReady(function() {
    // DOM is loaded and ready for manipulation here
console.log("running ")
   let count = 1;

setTimeout(function() {

//Code to run After timeout elapses
console.log("finding title ")
console.log("YouTube Title formatter v1.001")

let title = document.querySelector("#container > h1");

    title.onclick = function(e){//turn title into button
        //your handler here
        if(count < 3){//prevent from running too many times

            let title2 = document.querySelector("#container > h1");
            let newTitle2 = isValid(title2.innerHTML) //pull title again due to js idiosyncrasies
            console.log("newTitle == ", newTitle2)
            if(newTitle2 != null){
                title2.innerHTML = newTitle2
            }
            console.log(count)
            count = count + 1;
        }

    }


console.log("title  == ",title)





function isValid(fname){
  console.log("fname type is ", typeof fname);
  console.log("fname input is ", fname);

      for(let i = 0; i < 20; i++){
          fname = fname.replace("&"," and ")
          fname = fname.replace("|"," ")
          fname = fname.replace("||"," ")
          fname = fname.replace(","," ")
          fname = fname.replace("?"," ")
          fname = fname.replace("!"," ")
          fname = fname.replace("@"," ")
          //fname = fname.replace("<","(")
         // fname = fname.replace(">",")")
          fname = fname.replace(".","")
          fname = fname.replace("'","")
          fname = fname.replace("`","")
          fname = fname.replace("/","")
          fname = fname.replace("\\","")
          fname = fname.replace(":","")
          fname = fname.replace(";","")
          fname = fname.replace("*","")
          fname = fname.replace("^","")
          fname = fname.replace("%","")
          fname = fname.replace("$","")
          fname = fname.replace("#","")
          fname = fname.replace("+","")
          fname = fname.replace("_","")
          fname = fname.replace("’","")
          fname = fname.replace("→"," - ")
          fname = fname.replace("」"," ")
          fname = fname.replace("「"," ")
          fname = fname.replace("}",")")
          fname = fname.replace("{"," (")
          fname = fname.replace("  "," ")
          fname = fname.replace("ー","-")
          fname = fname.replace("/","-")
          fname = fname.replace("『"," (")
          fname = fname.replace("』",")")
          fname = fname.replace("!","")
          fname = fname.replace("【"," (")
          fname = fname.replace("】",")")
          fname = fname.replace("and amp "," and ")





}
      console.log("fname output is ", fname);

          return fname
}




}, 2000); //Two seconds will elapse and Code will execute.


});




function docReady(fn) {
    // see if DOM is already available
    if (document.readyState === "complete" || document.readyState === "interactive") {
        // call on next available tick
        setTimeout(fn, 1);
    } else {
        document.addEventListener("DOMContentLoaded", fn);
    }
}







QingJ © 2025

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