
<스크립트> 아래 복사후 저 확프에 추가하기
// ==UserScript==
// @name 일베 텍스트 목록 강제 - Ultimate
// @namespace https://www.ilbe.com/
// @version 4.0.0
// @description 일베 모든 게시판을 텍스트 목록형으로 강제
// @match https://ilbe.com/list/*
// @match https://www.ilbe.com/list/*
// @match https://m.ilbe.com/list/*
// @match https://*.ilbe.com/list/*
// @run-at document-start
// @grant none
// ==/UserScript==
(function () {
'use strict';
const LIST_PATH = /^\/list\/.+/i;
// 게시판 목록에서만 작동
if (!LIST_PATH.test(location.pathname)) {
return;
}
const current = new URL(location.href);
/*
* ============================================================
* 1차 방어
* URL 파라미터 강제
* ============================================================
*/
const needViewType =
current.searchParams.get('view_type') !== 'list';
const needListStyle =
current.searchParams.get('listStyle') !== 'list';
if (needViewType || needListStyle) {
current.searchParams.set('view_type', 'list');
current.searchParams.set('listStyle', 'list');
location.replace(current.href);
return;
}
/*
* ============================================================
* 2차 방어
*
* 서버가 URL 파라미터를 무시하는 경우
* 페이지에 있는 "리스트" 버튼을 찾아 클릭
* ============================================================
*/
function forceListButton() {
const elements = document.querySelectorAll(
'a, button, input, select, option, span, li'
);
for (const el of elements) {
const text = (el.textContent || '').trim();
if (
text === '리스트' ||
text === '목록' ||
text === 'List'
) {
/*
* 이미 리스트가 선택되어 있으면 종료
*/
const className =
typeof el.className === 'string'
? el.className
: '';
if (
className.includes('active') ||
className.includes('selected') ||
className.includes('on')
) {
return true;
}
/*
* 리스트 버튼을 찾았으면 클릭
*/
try {
el.click();
return true;
} catch (e) {
// 무시
}
}
}
return false;
}
/*
* DOM이 만들어진 후 확인
*/
if (document.readyState === 'loading') {
document.addEventListener(
'DOMContentLoaded',
forceListButton,
{ once: true }
);
} else {
forceListButton();
}
/*
* ============================================================
* 3차 방어
*
* AJAX로 보기 방식이 바뀌는 경우 다시 확인
* ============================================================
*/
let observerTimer = null;
const observer = new MutationObserver(function () {
clearTimeout(observerTimer);
observerTimer = setTimeout(function () {
/*
* URL이 다시 변경되어 썸네일/웹진으로 바뀌었다면
* 목록형으로 되돌림
*/
const url = new URL(location.href);
if (
/^\/list\/.+/i.test(url.pathname) &&
(
url.searchParams.get('view_type') !== 'list' ||
url.searchParams.get('listStyle') !== 'list'
)
) {
url.searchParams.set('view_type', 'list');
url.searchParams.set('listStyle', 'list');
location.replace(url.href);
return;
}
forceListButton();
}, 100);
});
observer.observe(
document.documentElement,
{
childList: true,
subtree: true
}
);
})();
=================
스크립트 추가하는거 모르면 댓글 올려라
일베가 지금 이미지로 글이 보이는데 이미지 좆까고 이전 목록으로 보여줌







