Mellow Apricot

| 티스토리에서 관리자(블로그 주인)인지 확인하는 스크립트

※ 2차 도메인에서는 다 guest로 취급합니다 (1차 x)

 

document.addEventListener("DOMContentLoaded", function() {
function checkRole() {
	const pageRole = window.T.config.ROLE;
	if ( pageRole === "owner") {
		const adminPageDiv = document.createElement("div");
		adminPageDiv.classList.add("owner-check");
		adminPageDiv.insertAdjacentHTML("beforeend", "Go to Admin Page");
		document.querySelector(".menu").appendChild(adminPageDiv);
	}
}
checkRole();
});


//스위치 버전

document.addEventListener("DOMContentLoaded", function() {
function checkRole() {
	const pageRole = window.T.config.ROLE;
	switch (pageRole) {
		case "owner":
			const adminPageDiv = document.createElement("div");
			adminPageDiv.classList.add("owner-check");
			adminPageDiv.insertAdjacentHTML("beforeend", "Go to Admin Page");
			document.querySelector(".menu").appendChild(adminPageDiv);
			break;
		case "user":
		case "connected":
			//user,connected에 필요한 내용
			break;
		default:
		break;
	}
}
checkRole();
})

(위나 아래나 동일한 스크립트임 if문에서 오류가 날 때 switch문을 이용하면 된다

switch문에서는 default를 적어주는 게 좋음)

 

 

<div class="owner-check"><a href="/admin">Go to Admin Page</a></div>

스키마 마크업에서 ROLE을 체크하여, owner라면 .menu에 해당 태그를 추가시킨다

guest라면 해당 html이 생성되지 않아 보이지 않음.

 

반대로 guest만 체크하고 싶으면 !=="owner"로 바꿔주면 됨

*값은 user, connected(구독자), guset, owner

 

사용하기 위해서 해당 스크립트는 html의 </head> 위 혹은 </s_t3> 밑에 넣어주면 되고,

html 내부에 menu 클래스가 존재하고 있어야 함

 

여러 응용 가능, 어드민 페이지 이동 버튼 등 방문자에게 불필요한 내용 생성 시 유용함

 

단, 모든 스크립트가 그렇듯 훗날 티스토리 자체적으로 변경이 있다면 호출이 안 될 수도 있으니 참고!

Guestbook.