2012-01-25 6 views
4

목적

내가 대상으로 정확한 같은 방식으로 새 탭/창에서 URL을 열려면 = "_ 빈"는 것.JavaScript를 사용하여 새 탭/창을 여는 방법은 무엇입니까?

나는 다음과 같은 자바 스크립트를 트리거하는 PHP 조건을 사용하고

코드 :

<script type="text/javascript"> 
window.open ("http://www.google.com/","_blank", "status=1,toolbar=1"); 
</script> 

내 문제

window.open이 NOT 대상으로 같은 = "_ 빈"입니다 하이퍼 링크.

  1. 팝업 차단기에 문제가 있습니다.
  2. 창에는 target = "_ blank"가 생성 한 것과 같은 매개 변수가 필요합니다.
  3. JavaScript가 실행되면 포함 된 문서의 특정 글꼴 색이 손실됩니다.

내 질문

가 어떻게 정확히 대상 = "_ 빈"에 의해 생산 무엇을 시뮬레이션 할 수 있습니까?

+3

그렇지 않습니다. 팝업 차단기는 작업이 _ 사용자가 시작했는지 확인하기 위해 일별 확인합니다. 그렇지 않으면 차단합니다. – Ktash

+0

가능한 복제본 : http://stackoverflow.com/questions/1574008/how-to-simulate-target-blank-in-javascript –

+0

@Ktash : 코드가 '사용자가 시작'하게하려면 어떻게 될 것입니까? .click 이벤트를 시뮬레이트하는 것이 합리적일까요? –

답변

1

JavaScript에서 창을 여는 대신 JavaScript를 사용하여 링크의 href를 업데이트 한 다음 링크를 클릭하면 트리거됩니다. 이 방법을 사용하면 사용자가 링크를 클릭하는 것과 똑같은 동작을 얻을 수 있습니다.

ID가 target="_blank" 인 페이지에 링크를 추가하십시오. 새 창을 열려면이 링크의 href을 업데이트 한 다음 클릭 (예 : here)을 실행하십시오.

function clickLink(link) { 
var cancelled = false; 

if (document.createEvent) { 
    var event = document.createEvent("MouseEvents"); 
    event.initMouseEvent("click", true, true, window, 
     0, 0, 0, 0, 0, 
     false, false, false, false, 
     0, null); 
    cancelled = !link.dispatchEvent(event); 
} 
else if (link.fireEvent) { 
    cancelled = !link.fireEvent("onclick"); 
} 

if (!cancelled) { 
    window.location = link.href; 
} 
} 
관련 문제