링크처리는 유저에게 옵션을 주는것또한 한 방법이라고 생각합니다. default 는 그냥 현재창으로 되어있고 새창을 원할때 새창을 쓰게하는 체크박스를 제공하여 유저에게 선택권을 주는것도 한 방법이 아닐지 해서,,,,,
/* -------------------------------------------------------------
function setLinkAttributes()
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Description: setLinkAttributes finds ALL anchor links and
can set new attributes. The following script
specifically finds anchor links labeled as
external, and add a terget="_blank". We do
in order to validate in XHTML 1.1 Strict.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Credits: Script found on Site Point (I think)
http://www.sitepoint.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
<!--
function setLinkAttributes(switchLinks) {
if (switchLinks == "true") {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i<anchors.length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute("href") && ( anchor.getAttribute("rel") == "external" || anchor.getAttribute("rel") == "nofollow" ) ) {
anchor.target = "_blank";
}
}
} else {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i<anchors.length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute("href") && ( anchor.getAttribute("rel") == "external" || anchor.getAttribute("rel") == "nofollow" ) ) {
anchor.target = "_self";
}
}
}
}
function toggleLinkAttributes() {
var ExpireLongTerm = new Date();
var ExpireLongTermValue = new Date(ExpireLongTerm.getTime()+(1000 * 60 * 60 * 360000));
if ( getCookie("externalLinks") == "true" ) {
setLinkAttributes("false");
setCookie("externalLinks","false",ExpireLongTermValue);
} else if (getCookie("externalLinks") == "false") {
setLinkAttributes("true");
setCookie("externalLinks","true",ExpireLongTermValue);
} else if ( !getCookie("externalLinks") ) {
setLinkAttributes("true");
setCookie("externalLinks","true",ExpireLongTermValue);
}
}
//-->가 js 부분, 그리고 html 은
<input type="checkbox" onchange="toggleLinkAttributes();" id="toggleLinks" />
으로 해주면 가능합니다. 이용사례는 http://www.uxmag.com/ 의 오른쪽 맨 밑을 보시면 이 방법이 사용되고 있습니다.