// ==UserScript== // @name SOOP Clip Background Tab Opener - author: 푸릴 made by gemini // @namespace http://tampermonkey.net/ // @version 3.1 // @description SOOP(sooplive.com)에서 클립 클릭 시 화면 전환 없이 백그라운드 새 탭으로 순서대로 엽니다. // @author 푸릴 (Made by Gemini) // @match *://*.sooplive.com/* // @match *://*.sooplive.co.kr/* // @grant GM_openInTab // @downloadURL https://update.greasyfork.icu/scripts/571835/SOOP%20Clip%20Background%20Tab%20Opener%20-%20author%3A%20%ED%91%B8%EB%A6%B4%20made%20by%20gemini.user.js // @updateURL https://update.greasyfork.icu/scripts/571835/SOOP%20Clip%20Background%20Tab%20Opener%20-%20author%3A%20%ED%91%B8%EB%A6%B4%20made%20by%20gemini.meta.js // ==/UserScript== /* author: 푸릴 made by gemini */ (function() { 'use strict'; // 1. 클립/VOD 링크인지 판별 const isClipLink = (href) => { if (!href) return false; const lowerHref = href.toLowerCase(); // 검색 결과, VOD, 클립, 플레이어 관련 키워드 const keywords = ['/player/', '/video/', '/clip/', '/vod/', '/catch/']; return keywords.some(keyword => lowerHref.includes(keyword)); }; // 2. 문서 전체의 클릭 이벤트 가로채기 document.addEventListener('click', function(e) { // 마우스 왼쪽 버튼 클릭이 아닐 경우(휠 클릭 등)는 무시 if (e.button !== 0) return; // 클릭한 요소가 태그이거나 태그 내부인지 확인 const targetLink = e.target.closest('a'); if (targetLink && targetLink.href) { // 해당 링크가 VOD나 클립 주소라면 if (isClipLink(targetLink.href)) { // SOOP 사이트 자체의 화면 전환 스크립트 실행 완벽 차단 e.preventDefault(); e.stopPropagation(); // 🌟 핵심 변경: insert를 false로 바꾸어 탭의 맨 끝에 순서대로 열리게 함 GM_openInTab(targetLink.href, { active: false, insert: false }); } } }, true); })();