您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Set your Instagram DM Sizes
// ==UserScript== // @name instagram DM Resizer // @namespace instagramDMResizer // @version 1.0.0 // @description Set your Instagram DM Sizes // @author Runterya // @homepage https://github.com/Runteryaa // @match *://*.instagram.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=instagram.com // @grant none // @license MIT // @compatible chrome // @compatible edge // @compatible firefox // @compatible opera // @compatible safari // ==/UserScript== console.log("InstagramDMResizer") window.addEventListener('load', () => { if (!localStorage.getItem('defaultDM')) { localStorage.setItem('defaultDM', 400); } const findDMDiv = () => { const defaultDMWidth = parseFloat(localStorage.getItem('defaultDM')); const targetElement = document.querySelector('[aria-label="Thread list"]'); const dmContainer = targetElement.firstChild; dmContainer.style.width = defaultDMWidth + 'px'; dmContainer.classList.remove('x13tiff3'); let resetDM = document.getElementById('resetDM'); if (!resetDM) { const resetDM = document.createElement('button'); resetDM.textContent = 'Reset DM Size' resetDM.id = 'resetDM' resetDM.style.padding = '5px' resetDM.style.cursor = 'pointer' resetDM.addEventListener('click', () => { localStorage.setItem('defaultDM', 400); }); const dminfo = document.querySelector('[class="x9f619 x1n2onr6 x1ja2u2z x78zum5 xdt5ytf x2lah0s x193iq5w x6s0dn4 x1swvt13 x1pi30zi"]'); dminfo.insertBefore(document.createElement('br'), dminfo.firstChild); dminfo.insertBefore(document.createElement('br'), dminfo.firstChild); dminfo.insertBefore(resetDM, dminfo.firstChild); } // Create a drag bar let dragBar = document.getElementById('dragBar'); if (!dragBar) { // Create a drag bar dragBar = document.createElement('div'); dragBar.id = 'dragBar'; dragBar.style.width = '10px'; dragBar.style.height = '100%'; dragBar.style.position = 'absolute'; dragBar.style.right = '-1px'; dragBar.style.top = '0'; dragBar.style.cursor = 'ew-resize'; dmContainer.appendChild(dragBar); } let isDragging = false; let startX = 0; let startWidth = defaultDMWidth; // Event listeners for drag bar dragBar.addEventListener('mousedown', (e) => { isDragging = true; startX = e.pageX; startWidth = parseFloat(getComputedStyle(dmContainer, null).getPropertyValue('width')); }); document.addEventListener('mousemove', (e) => { if (!isDragging) return; const width = startWidth + (e.pageX - startX); dmContainer.style.width = width + 'px'; }); document.addEventListener('mouseup', () => { isDragging = false; localStorage.setItem('defaultDM', parseFloat(dmContainer.style.width)); }); } setInterval(() => { findDMDiv(); }, 1000); // Mutation observer to handle changes in the DOM new MutationObserver(() => { // Here you can handle changes in the DOM if needed }).observe(document.body, { childList: true, subtree: true }); });