2016-09-19 4 views
4

별도의 스레드에서 실행되는 새로운 팝업 탭을 열 수 있습니까? 좀 더 구체적으로, 새 팝업 탭을 만들고 새 탭에서 디버깅을 시작하면 링크가 포함 된 탭은 새 탭에서 다시 시작을 클릭 할 때까지 자바 스크립트를 일시 중지합니다. 내가 원하는 것은 부모 탭이 계속 실행되는 동안 디버깅 할 수 있도록 분리 된 새 탭을 만드는 것입니다. Chrome 브라우저를 사용하여이 문제가 발생했습니다. 이 기능은 Firefox에서 잘 작동합니다 (다른 브라우저에서는 테스트하지 않은 것임).JavaScript로 별도의 스레드에서 새 탭을 여는 방법은 무엇입니까? (크롬)

답변

4

일반적으로 크롬은 새 프로세스가 동일한 프로세스 ID에서 실행되도록합니다. 그러나 사이트에서 동일한 프로세스로 강제 실행하지 않고 새 창을 열 수있는 기술이 있습니다.

참조 정보를 전달하지 않고 새 창을 대상으로하는 다른 웹 사이트에 대한 링크를 사용하십시오. 참조 자 정보를 전달하는 동안 새 탭이 새로운 프로세스를에서 열려면

<a href="http://differentsite.com" target="_blank" rel="noreferrer">Open in new tab and new process</a> 

, 당신은 자바 스크립트에서 다음 단계를 사용할 수 있습니다

  • 열기에 대해 함께 새 탭을 : 빈 그것의 표적.
  • 새로 열린 탭의 시작 변수를 null로 설정하면 원본 페이지에 액세스 할 수 없습니다.
  • 약 : 공백에서 원래 페이지와 다른 웹 사이트로 리디렉션하십시오. 예를 들어

:

var w = window.open(); 
    w.opener = null; 
    w.document.location = "http://differentsite.com/index.html"; 

기술적으로 원래의 웹 사이트는 여전히 w를 통해 새에 액세스 할 수 있습니다,하지만 그들은 창을 거세하는 단서로 .opener = 널 (null)을 취급합니다.

출처 : https://bugzilla.mozilla.org/show_bug.cgi?id=666746

0

웹 근로자를 사용해 보셨나요? 지원에 대해서는 확신 할 수 없지만 병렬 JS 실행 기능을 제공하기로되어 있습니다. herehere을 참조하십시오.

+0

이 문제에 대한 과잉이다. 파이어 폭스에서 작동하기 때문에이 솔루션은 코드를 크게 변경하지 않아도된다고 생각합니다. –

관련 문제