1

주제: 하이퍼링크 Target 처리와 관련해

leadbiz이 http://tattertools.com/ko/forum/viewtopic.php?id=803에서 요청한 내용

WYSIWYG에디터에서 하이퍼링크의 Target기본값문제..답변 좀 부탁드립니다. 저는 글에 링크를 워낙 많이 거는 스타일이라~~~~. 정 안된다면 HTML안건드리고 에디터에서만이라도 Target처리할 수 있게 해 주세요...

2

답글: 하이퍼링크 Target 처리와 관련해

#21로 등록되어 있는데 구현이 덜 완성되었군요. 제가 왜 이걸 닫아달라고 요청했을까요? 의문이네... 흠...

3

답글: 하이퍼링크 Target 처리와 관련해

xhtml에서의 허용문제가 있으므로 내부 구현 하지 말고 daybreaker님께서 만드신 플러그인을 쓰는 것이 나을 것 같습니다 smile

"Everything looks different on the other side."

-Ian Malcomm, from Michael Crichton's 'The Jurassic Park'

4

답글: 하이퍼링크 Target 처리와 관련해

inureyes 작성:

xhtml에서의 허용문제가 있으므로 내부 구현 하지 말고 daybreaker님께서 만드신 플러그인을 쓰는 것이 나을 것 같습니다 smile

plug-in을 써보지는 않았지만 plug-in을 사용하면 xhtml 1.0 tr (or 1.1 strict) 문제를 피해갈 수 있나요?

하늘은 스스로 삽질하는 자를 삽으로 팬다

5

답글: 하이퍼링크 Target 처리와 관련해

예...
원래는...

<a href="http://kldp.org/node/63559">http://kldp.org/node/63559</a>

이었던 애가...

<a href="http://kldp.org/node/63559">http://kldp.org/node/63559</a><a href="http://kldp.org/node/63559" onclick="window.open('http://kldp.org/node/63559');return false;" style="border:none; text-decoration:none; padding-left:15px; margin-right: -0.5em; background: transparent url(/plugins/a_blank_Link/newwindow.gif) no-repeat 0px 50%;" title="다음 링크를 새 창으로 엽니다. : 'http://kldp.org/node/63559'"> </a>

이렇게 파싱됩니다... smile

건더기 (2006-06-19 17:39:56)에 의해 마지막으로 수정

잠수...

6

답글: 하이퍼링크 Target 처리와 관련해

건더기 작성:

예...
원래는...

<a href="http://kldp.org/node/63559">http://kldp.org/node/63559</a>

이었던 애가...

<a href="http://kldp.org/node/63559">http://kldp.org/node/63559</a><a href="http://kldp.org/node/63559" onclick="window.open('http://kldp.org/node/63559');return false;" style="border:none; text-decoration:none; padding-left:15px; margin-right: -0.5em; background: transparent url(/plugins/a_blank_Link/newwindow.gif) no-repeat 0px 50%;" title="다음 링크를 새 창으로 엽니다. : 'http://kldp.org/node/63559'"> </a>

이렇게 파싱됩니다... smile

오호. onclick으로 호출하는근영 big_smile

하늘은 스스로 삽질하는 자를 삽으로 팬다

7

답글: 하이퍼링크 Target 처리와 관련해

inureyes 작성:

xhtml에서의 허용문제가 있으므로 내부 구현 하지 말고 daybreaker님께서 만드신 플러그인을 쓰는 것이 나을 것 같습니다 smile

그럼 그 티켓 닫아 주세요. 꽤 오래 열려 있었던 것 같던데.

8

답글: 하이퍼링크 Target 처리와 관련해

넵 일단 다시 cement로 옮겼습니다 ^^

"Everything looks different on the other side."

-Ian Malcomm, from Michael Crichton's 'The Jurassic Park'

9

답글: 하이퍼링크 Target 처리와 관련해

후음..; 제가 만든 플러그인이긴 하나 사실 저게 style 속성 안에 들어간 것들이 전부 다 line-height를 바꾸지 않고 아이콘을 보여주기 위한 삽질이라서 별로 맘에 안 듭니다. orz

일단 XHTML은 준수하지만... 접근성을 지키는 버전(img 태그 써서 정상적으로 이미지를 이용하는 것)과 모양 위주의 버전(저것처럼 CSS 노가다-_-) 두 가지로 갈까도...? -_-
IE 때문에 괜히 쉽게 갈 것이 어려워지는군요.

문제의 답은 우리 안에 있다.
내면에 귀를 기울여 보자.

10

답글: 하이퍼링크 Target 처리와 관련해

inureyes 작성:

xhtml에서의 허용문제가 있으므로 내부 구현 하지 말고 daybreaker님께서 만드신 플러그인을 쓰는 것이 나을 것 같습니다 smile

이 플러그인 지금 릴 되어있나요?
그런것 같은데 릴 주소좀 알려주세요 smile

11

답글: 하이퍼링크 Target 처리와 관련해

JWC 작성:
inureyes 작성:

xhtml에서의 허용문제가 있으므로 내부 구현 하지 말고 daybreaker님께서 만드신 플러그인을 쓰는 것이 나을 것 같습니다 smile

이 플러그인 지금 릴 되어있나요?
그런것 같은데 릴 주소좀 알려주세요 smile

http://www.tattertools.com/bbs/view.php … amp;no=210

잠수...

12

답글: 하이퍼링크 Target 처리와 관련해

건더기 작성:
JWC 작성:
inureyes 작성:

xhtml에서의 허용문제가 있으므로 내부 구현 하지 말고 daybreaker님께서 만드신 플러그인을 쓰는 것이 나을 것 같습니다 smile

이 플러그인 지금 릴 되어있나요?
그런것 같은데 릴 주소좀 알려주세요 smile

http://www.tattertools.com/bbs/view.php … amp;no=210

가까운곳에 있었군요. 왜 못봤지;
캄사 합니다.

13

답글: 하이퍼링크 Target 처리와 관련해

링크처리는  유저에게 옵션을 주는것또한 한 방법이라고 생각합니다.  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/ 의 오른쪽 맨 밑을 보시면 이 방법이 사용되고 있습니다.

<!--[if IE]>
<p>잘못 실행하신 브라우저 이거나 국번이 없는 브라우저 이오니, 다시한번 확인하시고 사용하시기 바랍니다.
유해브 컬드 롱 브라우저 오어 노 브라우저.  플리즈 트라이 어게인 땡큐</p>
<! [endif] -->