Tetr.io Improvements

Provides improvements for Tetr.io game.

安装此脚本?
作者推荐脚本

您可能也喜欢No Fullscreen Dropdown

安装此脚本
  1. // ==UserScript==
  2. // @name Tetr.io Improvements
  3. // @namespace https://github.com/tientq64/userscripts
  4. // @version 1.0.0
  5. // @description Provides improvements for Tetr.io game.
  6. // @author tientq64
  7. // @icon https://www.google.com/s2/favicons?sz=64&domain=tetr.io
  8. // @match https://tetr.io/*
  9. // @match https://ch.tetr.io/*
  10. // @grant GM_addStyle
  11. // @license MIT
  12. // @noframes
  13. // @homepage https://github.com/tientq64/userscripts/tree/main/scripts/Tetr-io-Improvements
  14. // ==/UserScript==
  15.  
  16. var TetrIOImprovements
  17. ;(function (TetrIOImprovements) {
  18. const adElsSelectors = ['#ceriad-auth-return-lb', '#ceriad-menus-persistent-mpu', 'iframe']
  19. const adElsSelector = adElsSelectors.join(',')
  20.  
  21. function removeAds() {
  22. const adEls = document.querySelectorAll(adElsSelector)
  23. for (const adEl of adEls) {
  24. adEl.remove()
  25. }
  26. }
  27.  
  28. function handleWindowKeyDown(event) {
  29. switch (event.code) {
  30. case 'Escape':
  31. if (document.activeElement instanceof HTMLElement) {
  32. document.activeElement.blur()
  33. }
  34. break
  35.  
  36. case 'Home':
  37. {
  38. const joinBtn = document.querySelector('#return_button')
  39. if (joinBtn?.checkVisibility()) {
  40. joinBtn.click()
  41. }
  42. const playMultiBtn = document.querySelector('#play_multi')
  43. if (playMultiBtn?.checkVisibility()) {
  44. playMultiBtn.click()
  45. }
  46. const multiLeagueBtn = document.querySelector('#multi_league')
  47. if (multiLeagueBtn?.checkVisibility()) {
  48. multiLeagueBtn.click()
  49. }
  50. const enterMatchMakingBtn = document.querySelector('#enter_matchmaking')
  51. if (enterMatchMakingBtn?.checkVisibility()) {
  52. enterMatchMakingBtn.click()
  53. }
  54. }
  55. break
  56.  
  57. case 'End':
  58. {
  59. const backToLeagueBtn = document.querySelector('#backtoleague')
  60. if (backToLeagueBtn?.checkVisibility()) {
  61. backToLeagueBtn.click()
  62. }
  63. }
  64. break
  65. }
  66. }
  67.  
  68. window.setInterval(removeAds, 5000)
  69. window.addEventListener('keydown', handleWindowKeyDown)
  70.  
  71. GM_addStyle(`
  72. * {
  73. transition: none !important;
  74. }
  75. `)
  76. })(TetrIOImprovements || (TetrIOImprovements = {}))

QingJ © 2025

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