그누보드의 plugin 폴더에 있는 smarteditor2의 smarteditor2.js 소스를 보면 하이퍼 링크 새창에서 열기 옵션에 관한 코드가 주석처리 되어있고 skin 소스 코드에는 해당 부분이 없다.
주석을 풀고 skin 화면에 직접 코드를 넣었음에도 제대로 실행이 되지 않았다.
// smarteditor2/js/smarteditor2.js
// 20513번쨰 라인
//this.oCbNewWin.checked = false;
// 20520번째 라인
//if(sTarget && sTarget == "_blank"){this.oCbNewWin.checked = true;}
// 20586번째 라인
if(this._validateURL(sURL)){
//if(this.oCbNewWin.checked){
// if(false){
// sTarget = "_blank";
// }else{
sTarget = "_self";
//}
그래서 연결된 링크 주소가 현재 도메인 주소와 같으면 현재창에서 이동하고,
연결된 링크 주소가 현재 도메인 주소와 다르면 새창으로 이동하도록 코드를 작성했다.
나는 모든 게시판에서 적용해야했으므로 bbs/view.php에서 작성했지만,
특정 페이지에서만 작성하도록 하려면 해당 skin 폴더의 view 파일에 작성하면 된다.
<script>
jQuery("#bo_v_atc a").each(function ()
{
const hostname = window.location.hostname;
const strhref = jQuery(this).attr("href");
if (strhref.includes(hostname)){
jQuery(this).attr("target", "_self");
}else{
jQuery(this).attr("target", "_blank");
}
})
</script>
'웹 개발 이야기 > js, jquery' 카테고리의 다른 글
[JS] javascript 선택자 (0) | 2023.03.09 |
---|---|
[JS] javascript replaceAll (0) | 2023.03.09 |
[JS] 선택된 영역의 텍스트 가져오기 (0) | 2023.03.09 |
[JQUERY] 위도 경도 (0) | 2023.03.08 |
[JQUERY] 라디오버튼_선택된것과 안된것들 css 지정 (0) | 2023.03.08 |
댓글