첫 번째 글 참조
2차 도메인(이하 개인 도메인)을 사용 중인 티스토리 사용자의 블로그에서, 티스토리 계정으로 수정되지 않는 문제는 해결되었다. 하지만 아직도 문제가 남아 있다.
사실 문제라고 하기는 좀 뭣하고,
임시로 URL을 *.tistory.com
형식으로 이동하게끔 하다보니, URL 복사 또는 공유하기 버튼이 원하지 않는대로 동작하는 것이다.
원하지 않는대로라고 하면, 무슨 말인가.
나는 내 개인 도메인을 활성시키고 싶은데, 이러한 플러그인으로 인해 의도치 않게 *.tistory.com
도메인의 주소로 공유가 되는 점이다.
이 문제를 해결하는 것이 이번의 목표이다.
개발자 도구 활용
우선은 개발자 도구를 열어서 이벤트의 흐름을 체크해 보아야 한다.
그래서 URL 복사
버튼을 눌러 보았다.
그런데
Uncaught ReferenceError: lt is not defined
운 좋게도 오류를 만났다. 이 녀석이 아니었으면 찾기 힘들었을 것 같다.
isShortContents
함수의 코드를 살펴보았다.
function isShortContents () {
return window.getSelection().toString().length < 30;
}
<
니가 여기서 왜 나와?
아무튼 저 함수가 오류 없이 수행되는 경우 아래와 같은 형태로 링크가 공유된다.
출처: https://[블로그 주소] [[블로그명]:티스토리]
버그 픽스
의도치 않게 두 번째 차례가 버그 픽스가 되어버렸다.
티스토리 개발자 분, 고쳐주세요.
이 부분은 즉시 실행 함수(IIFE) 내부에 정의되어 있다.
그래서 재정의해서 사용할 방법도 없다.
IIFE(IIFE, Immediately Invoked Function Expression)란?
JavaScript의 주요 패턴 중 하나이다. 함수의 선언과 함께 즉시 실행되도록 하기 위한 것.주요 목적은 번수의 스코프를 제한하고, 전역 네임스페이스를 오염시키지 않기 위함이다.
따라서 이 내부에 정의된 변수 또는 함수의 경우 외부에서 접근할 수 없다.
IIFE의 예시
// 매개 변수가 필요 없는 함수
(function() {
// 변수, 함수 등의 코드
})();
// 매개 변수가 필요한 함수
(function(param) {
console.log(param);
})('Hello World'); // "Hello World" 출력
이 부분은 티스토리 이용자로서 필요에 의해 버그에 대한 임시조치를 취하는 것이니만큼, 자세한 코드는 블로그에 기재하진 않겠다.
그렇게 댓글 요정은 진화했다.
다음 목표에 대해 고민해 보아야겠다.