Disable all YouTube EXPERIMENT_FLAGS

To Disable all YouTube EXPERIMENT_FLAGS

目前為 2023-07-08 提交的版本,檢視 最新版本

// ==UserScript==
// @name        Disable all YouTube EXPERIMENT_FLAGS
// @namespace   UserScripts
// @match       https://www.youtube.com/*
// @version     0.1.0
// @license MIT
// @author      CY Fung
// @description To Disable all YouTube EXPERIMENT_FLAGS
// @grant       none
// @unwrap
// @run-at document-start
// @allFrames   true
// @inject-into page
// ==/UserScript==

((__CONTEXT__) => {

  let fStop = false;
  let isMainWindow = false;
  let mz = new Set();
  try {
    isMainWindow = window.document === window.top.document
  } catch (e) { }

  const { Promise, requestAnimationFrame } = __CONTEXT__;

  function f() {
    if (fStop) return;
    let EXPERIMENT_FLAGS = null;
    try {
      EXPERIMENT_FLAGS = yt.config_.EXPERIMENT_FLAGS
    } catch (e) { }

    if (EXPERIMENT_FLAGS) {

      if (isMainWindow) {
        for (const [key, value] of Object.entries(EXPERIMENT_FLAGS)) {

          if (value === true) {
            // if(key.indexOf('modern')>=0 || key.indexOf('enable')>=0 || key.indexOf('theme')>=0 || key.indexOf('skip')>=0  || key.indexOf('ui')>=0 || key.indexOf('observer')>=0 || key.indexOf('polymer')>=0 )continue;

            if (mz.has(key)) continue;
            mz.add(key);
            const kl = key.length;
            const kl5 = kl % 5;
            const kl3 = kl % 3;
            const kl2 = kl % 2;
            const kl7 = kl % 7;
            if (key.indexOf('kevlar_') >= 0) {
              // if(key==='kevlar_prefetch_data_augments_network_data') continue;

              if (kl5 === 0 && kl3 === 2 && kl2 === 0) { // home page / watch page icons

                if (key === 'kevlar_three_dot_ink') continue;
                if (key === 'kevlar_use_wil_icons') continue;
                if (key === 'kevlar_home_skeleton') continue;
              }

              if (kl5 === 0 && kl3 === 1 && kl2 === 1) {

                if (key === 'kevlar_fluid_touch_scroll') continue;
                if (key === 'kevlar_watch_color_update') continue;
                if (key === 'kevlar_use_vimio_behavior') continue; // home page - channel icon

              }

              if (kl3 === 2 && kl5 === 4 && kl2 < 2) {  // collapsed meta
                // no teaser, use latest collapsed meta design
                if (key === 'kevlar_structured_description_content_inline') continue;
                if (key === 'kevlar_watch_metadata_refresh') continue;

              }


              if (kl5 === 3 && kl3 === 1 && kl2 === 0) {

                if (key === 'kevlar_watch_js_panel_height') continue; // affect Tabview Youtube


              }


            } else {

              if (kl3 === 0 && kl5 === 2) {  // modern menu

                if (key === 'web_button_rework_with_live') continue;
                if (key === 'web_fix_fine_scrubbing_drag') continue;
              }


              if (kl3 === 1 && kl5 === 4 && kl2 === 1) {  // full screen -buggy
                if (key === 'external_fullscreen') continue;
              }

              if (kl3 === 0 && kl5 === 3 && kl2 === 0) { // minimize menu
                if (key === 'web_modern_buttons') continue;
                if (key === 'web_modern_dialogs') continue;

              }

            }





            // console.log(key)
            EXPERIMENT_FLAGS[key] = false;
          }

        }
      } else {


        for (const [key, value] of Object.entries(EXPERIMENT_FLAGS)) {

          if (value === true) {
            // if(key.indexOf('modern')>=0 || key.indexOf('enable')>=0 || key.indexOf('theme')>=0 || key.indexOf('skip')>=0  || key.indexOf('ui')>=0 || key.indexOf('observer')>=0 || key.indexOf('polymer')>=0 )continue;

            if (mz.has(key)) continue;
            mz.add(key);




            // console.log(key)
            EXPERIMENT_FLAGS[key] = false;
          }

        }


      }

      EXPERIMENT_FLAGS.desktop_delay_player_resizing = false;
      EXPERIMENT_FLAGS.web_animated_like = false;
      EXPERIMENT_FLAGS.web_animated_like_lazy_load = false;

      // EXPERIMENT_FLAGS.kevlar_prefetch_data_augments_network_data = true; // TBC

    }

  }
  let cid = setInterval(f, 1);
  (async () => {

    while (true) {
      f();
      if (fStop) break;
      await (new Promise(requestAnimationFrame));
    }


  })();
  f();
  function fhandler() {
    Promise.resolve().then(()=>{
      fStop = true;
      cid && clearInterval(cid); cid = 0;
    });
    document.removeEventListener('yt-page-data-fetched', fhandler, false);
    document.removeEventListener('yt-navigate-finish', fhandler, false);
    document.removeEventListener('spfdone', fhandler, false);
  }
  document.addEventListener('yt-page-data-fetched', fhandler, false);
  document.addEventListener('yt-navigate-finish', fhandler, false);
  document.addEventListener('spfdone', fhandler, false);

})({ Promise, requestAnimationFrame })

QingJ © 2025

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