[jQuery] 모든 target='_blank' 제거하기

Last Updated: 2023년 07월 17일 댓글

블로그 글을 작성하면서 링크는 내부 링크든 외부 링크든 모두 새로운 창에서 열리도록 target="_blank" 속성을 추가한 상태입니다.

하지만 외부 링크는 새로운 창에서 열리도록 하면서 내부 링크의 경우 새로운 창에서 열리는 것보다 같은 창에서 열리도록 하는 것이 더 좋을 것 같다는 생각이 들었습니다. 그러나 이때까지 작성한 글을 모두 수정하는 것은 거의 불가능에 가깝습니다. 글이 몇 개 없으면 수동으로 일일이 수정하면 되겠지만 현재 글이 1600개 이상이 작성되어 있네요.

그래서 jQuery를 사용하여 target="_blank"를 제거하는 방법을 인터넷을 통해 검색해보았습니다.

몇 가지 글이 검색되는데 stackoverflow의 "Remove all target=“_blank” from links"라는 글을 참고로 현재 워드프레스 블로그 글에서 내부 링크는 모두 같은 창에서 열리도록 간단한 jQuery 스크립트를 짤 수 있었습니다.

$('a[target="_blank"]').removeAttr('target');

참고로 외부 링크를 새 창에서 열리도록 하는 방법은 css-tricks.com의 "Open External Links In New Window"(외부 링크를 새 창에서 열기)에 나와 있는 스크립트를 참고하면 될 것 같습니다.

$('a').each(function() {
var a = new RegExp('/' + window.location.host + '/');
if(!a.test(this.href)) {
$(this).click(function(event) {
event.preventDefault();
event.stopPropagation();
window.open(this.href, '_blank');
});
}
});
// Source

위의 스크립트는 잘 작동하는지 여부를 확인하지 않았습니다. 적용해보시고 잘 안 되면 알려주세요.

참고:


댓글 남기기

Leave a Comment