FF3나 Chrome에서는 별 문제없이 새 창이 잘 뜨는데 꼭 IE6, IE7 에서는 팝업차단에 막혀서 새 창이 뜨지 않는 경우가 있다.

(물론 windows XP SP2 이상. 하여간 IE...)


아무튼 그 때에는 ExternalInterface를 사용하여 자바스크립트로 새 창을 띄워주면 팝업차단에 걸리지 않는다.


아래 소스를 보면 우선 ExternalInterface가 작동할 수 있는지 먼저 검사하고

(다르게 말하면 웹브라우저인지 검사. 지난 포스트에서 말했듯 ExternalInterface는 웹브라우저에서 작동한다.)

그 다음은 브라우저 버전을 확인해서 가능한 브라우저인지 검사한다.

조건들이 적합하면 ExternalInterface.call() 메소드로 새 창을 띄운다.

조건들이 부적합하면 플래시 자체의 링크인 navigateToURL을 사용해서 새 창을 띄우는데, IE에선 팝업차단 당할 수 있다.



ex) Daum을 새 창으로 열고싶다


만약 actionscript상에서 전혀 문제가 없는데 IE환경에서 ExternalInterface가 안 먹는다면 <object> 태그 안에 id 값이 있는지 확인.
이 문제 참고
저작자 표시 비영리 변경 금지
Posted by 성주

Trackback Address :: http://www.7zelkova.pe.kr/trackback/680 관련글 쓰기

댓글을 달아 주세요

  1. 도우너 2009/06/04 23:02 Address Modify/Delete Reply

    게시물 너무나 잘보았습니다..
    플래시 링크를 blank로 했을때 팝업차단이 되어서,
    방법을 찾고 있는데,,,,

    위 쏘스가 해결방법인듯 한데,,,

    제가 워낙초보라, 위쏘스를 어떻게 적용을 해야하는지,, 모르겠네요... ㅠㅠ

    어떻게 사용해야 하는지,
    조금 쉽게 설명해 주실수 있으실런지요...

    답변 부탁드려요... 꾸벅

    • Favicon of http://www.7zelkova.pe.kr BlogIcon 이성주 2009/06/05 00:05 Address Modify/Delete

      위 포스트에 다 설명되어있는데.. 으음.. 쉽게 설명드리면,
      ExternalInterface.call() 메소드로 새 창을 띄우는 자바스크립트를 실행하는 거에요
      linkPreventionBlockPopup 함수를 구현하시구요
      필요한 때에 linkPreventionBlockPopup 함수에 파라미터로 열고자 하는 사이트 주소를 적어서 호출하는거에요
      더 이상 쉽게 설명하기가 어렵네요.

  2. 도우너 2009/06/05 07:39 Address Modify/Delete Reply

    답변 감사드립니다...

    한번만 더 질문여쭙겠습니다... (제가 너무몰라, 질문하기도 죄송스럽네요.. ^^;;;;)

    위 두개의 쏘스중

    위에것은 키프레임에(첫번째 키프레임)
    아래것은 버튼에 액션스크립트를 넣는것인가요?

    다시한번 답변 부탁드립니다....

    PS// 플래시8 에서도 가능한 것인가요?

    • Favicon of http://www.7zelkova.pe.kr BlogIcon 이성주 2009/06/05 18:05 Address Modify/Delete

      제목에도 나와있듯이 위 소스코드는 AS 3.0으로 되어있습니다.
      Flash8 버전부터 사용이 가능하세요.
      그리고 AS 3.0은 심볼에 액션스크립트를 작성할 수 없습니다. 모두 키프레임에 넣어주세요.

  3. 도우너 2009/06/05 13:07 Address Modify/Delete Reply

    답변 너무나 감사드립니다... 꾸벅..

    마지막으로 한번만 더 질문드릴께요...

    그렇다면 플래시8버젼에서 링크를 줄때 _blank 로 하면
    팝업차단되는 현상을
    팝업차단 안되게 할수있는방법은 전혀 없는건가요?

    있다면,, 쉬운설명 부탁드려요...

    답변기다리겠습니다... 꾸벅.

    • Favicon of http://www.7zelkova.pe.kr BlogIcon 이성주 2009/06/05 18:08 Address Modify/Delete

      AS 3.0으로 만드시는게 맞나요??
      Flash 버전보다 AS 버전에 따라서 방법이 달라집니다.
      심볼에 액션을 걸어주신다는 것을 보니 AS 2.0으로 작업하시는 듯 한데,
      AS 2.0으로 작업하신다면 그쪽에 대해선 뭐라 대답을 못해드리겠네요. 거긴 잘 몰라요..

  4. 도우너 2009/06/05 20:49 Address Modify/Delete Reply

    친절한 답변 너무나 감사드립니다..

    이런 간단한 문제에 해결책이 없다니,,, ㅠㅠ

    너무 감사드리고요,,,
    좋은 하루 되세요~~~

    꾸벅

    • Favicon of http://www.7zelkova.pe.kr BlogIcon 이성주 2009/06/06 21:50 Address Modify/Delete

      도움이 못되어드려서 안타깝네요
      혹시 해결하시게 된다면 트랙백 하나 걸어주세요~

  5. 2010/05/06 16:56 Address Modify/Delete Reply

    IE 8.0 쓰는데 막히는데요? ;ㅁ;

    • Favicon of http://www.7zelkova.pe.kr BlogIcon 성주 2010/05/06 18:13 Address Modify/Delete

      혹시 object 태그 안에 id 확인해 보셨나요?
      으음.. 저는 차단 안되고 잘 되는데요...

  6. 므느 2010/12/24 18:23 Address Modify/Delete Reply

    잘 되네요.. 근데 그냥 웹에서는 되는데말이죠...
    웹메일에 플래시 첨부해서 보낼때는 작동을 안하네요...
    클릭해도 무반응으로 말이죠... 흠.. 플래시 사용가능한 네이트 메일인데...
    왜 이럴까요?

    • Favicon of http://www.7zelkova.pe.kr BlogIcon 성주 2011/01/01 16:22 Address Modify/Delete

      답변이 늦었네요
      메일에서는 저도 안해봐서 잘 모르겠는데
      예상하기로는 네이트에서 flash가 externalInterface를 사용하는걸 막은 듯합니다.
      아무래도 보안에 위험이 있을테니 말이죠

  7. 하재민 2010/12/30 04:03 Address Modify/Delete Reply

    안녕하세요.. 다름이아니고.. 제가 이걸보면서 시도를 하려고해도 되지가 않네요....

    휴... 성주님...ㅠㅠ

    swf파일이라도 좋습니다ㅠㅠ

    완성된 플래시를 보고싶네요.. habaksa1@naver.com 으로

    보내주시면 감사하겠습니다..

    아 그리고 윈도우7도 팝업차단 무시하고 열리는건가요? 열리는 범위가 우째되는지..?)

    아무튼 일단 파일 꼭 좀 보내주세요 구경이라도 정말 하고싶네요...ㅠ

    • Favicon of http://www.7zelkova.pe.kr BlogIcon 성주 2011/01/01 16:25 Address Modify/Delete

      http://wzdfactory.com/gallery/detail/440 여기에 보시면 하단에 공지사항 흘러가는게 있는데 그거 클릭하시면 팝업이 뜰 거에요.
      위에 적힌 코드가 적용된 사례입니다.
      지금은 저 회사를 떠나 다른 업종에 종사중이라 파일로 보내드리진 못하겠네요