Instagram 4K Screen UI

Improve the view of instagram on 4K screen

  1. // ==UserScript==
  2. // @name Instagram 4K Screen UI
  3. // @license MIT
  4. // @namespace https://gf.qytechs.cn/en/scripts/447896-instagram-4k-screen-ui
  5. // @description Improve the view of instagram on 4K screen
  6. // @icon https://i.imgur.com/obCmlr9.png
  7. // @match https://www.instagram.com/*
  8. // @grant GM_registerMenuCommand
  9. // @grant GM_getValue
  10. // @grant GM_setValue
  11. // @version 1.1
  12. // ==/UserScript==
  13.  
  14. var mainUISize = {
  15. get() {
  16. return parseInt(GM_getValue("mainUISize", "1200"))
  17. },
  18. set(vl) {
  19. GM_setValue("mainUISize", vl + "")
  20. }
  21. };
  22.  
  23. var subUISize={
  24. get() {
  25. return parseInt(GM_getValue("subUISize", "2000"))
  26. },
  27. set(vl) {
  28. GM_setValue("subUISize", vl + "")
  29. }
  30. };
  31.  
  32. var applyNewStyle = () => {
  33. let m1=document.querySelectorAll("._a3gq ._aal-");
  34. let m2=document.querySelectorAll("._a3gq ._aam3");
  35. let s1=document.querySelectorAll("._a3gq ._aa_y");
  36. if(m1.length>0)m1[0].style.maxWidth=mainUISize.get()+"px";
  37. if(m2.length>0)m2[0].style.maxWidth=mainUISize.get()+"px";
  38. if(s1.length>0)s1[0].style.maxWidth=subUISize.get()+"px";
  39. };
  40.  
  41. var setup = () => {
  42. let setupDiv = document.getElementById("instagram_4k_screen_ui_setup_div");
  43. if (!setupDiv) {
  44. setupDiv = document.createElement("div");
  45. setupDiv.id = "instagram_4k_screen_ui_setup_div";
  46. setupDiv.style.position = "fixed";
  47. setupDiv.style.zIndex = 999;
  48. setupDiv.style.left = "10%";
  49. setupDiv.style.top = "1%";
  50. setupDiv.style.backgroundColor = "#5f71a0";
  51. setupDiv.style.color = "White";
  52. setupDiv.style.borderRadius = "5px";
  53. setupDiv.innerHTML =`
  54. <p>
  55. <b>Main UI width (Unit:px)::</b><input type="text" maxlength="4" style="text-align:center;" id="i4su_main_ui_width" value="${mainUISize.get()}"/>
  56. <b>Sub UI width (Unit:px)::</b><input type="text" maxlength="4" style="text-align:center;" id="i4su_sub_ui_width" value="${subUISize.get()}"/>
  57. <button id="i4su_ok">Apply</button><button id="i4su_cancel">Cancel</button>
  58. </p>`;
  59. setupDiv.style.display = "none";
  60. document.body.appendChild(setupDiv);
  61. document.getElementById("i4su_ok").onclick = () => {
  62. let z = document.getElementById("i4su_main_ui_width").value.trim();
  63. let z1= document.getElementById("i4su_sub_ui_width").value.trim();
  64. if (/[0-9]{3,4}/.test(z) && /[0-9]{3,4}/.test(z1)) {
  65. let n = parseInt(z);
  66. let n1= parseInt(z1);
  67. if (n >= 100 && n <= window.screen.width && n1>=100 && n1<=window.screen.width) {
  68. mainUISize.set(n);
  69. subUISize.set(n1);
  70. applyNewStyle();
  71. document.getElementById("instagram_4k_screen_ui_setup_div").style.display = "none";
  72. return;
  73. }
  74. }
  75. alert("Incorrect input! Please input numbers that between 100 to your screen width.");
  76. };
  77. document.getElementById("i4su_cancel").onclick = () => {
  78. document.getElementById("i4su_main_ui_width").value=mainUISize.get()+"";
  79. document.getElementById("i4su_sub_ui_width").value=subUISize.get()+"";
  80. document.getElementById("instagram_4k_screen_ui_setup_div").style.display = "none";
  81. }
  82. }
  83. setupDiv.style.display = "block"
  84. };
  85.  
  86. GM_registerMenuCommand("UI width settings", setup);
  87.  
  88. if(document.readyState=="interactive"){
  89. let t=0,tNow=-2;
  90. //reset tNow Timer
  91. setInterval(()=>{tNow=(new Date()).getSeconds();},3000);
  92. //main event
  93. window.addEventListener('DOMNodeInserted', (event)=> {
  94. t=(new Date()).getSeconds()
  95. if(t-tNow > 1){
  96. applyNewStyle();
  97. tNow=t;
  98. }
  99. else{
  100. if(tNow>57){
  101. if(t===0){
  102. tNow=-2;
  103. }
  104. }
  105. }
  106. },false);
  107. };

QingJ © 2025

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