포커스 전환 없이 백그라운드에서 새 탭 열기
이 질문에서 사용자는 별도의 탭에서 새 탭을 열려고 합니다. 새 탭으로 초점이 이동하지 않고. open() 및 focus() 메서드를 사용한 시도를 보여주지만 Chrome의 현재 탭으로 돌아가기 전에 새 탭이 순간적으로 깜박이는 현상이 발생합니다.
그러나 제공된 답변은 이벤트를 사용하는 대체 솔루션을 제시합니다. 이 문제를 우회하기 위한 시뮬레이션입니다.
사용자 정의 이벤트 디스패치
구현
제공된 코드는 이 기술을 예시합니다:
function openNewBackgroundTab(){ var a = document.createElement("a"); a.href = "http://www.google.com/"; var evt = document.createEvent("MouseEvents"); //the tenth parameter of initMouseEvent sets ctrl key evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, true, false, false, false, 0, null); a.dispatchEvent(evt); }
결론
이벤트 시뮬레이션을 활용하는 이 솔루션은 현재 탭의 초점에 영향을 주지 않고 백그라운드에서 새 탭을 효과적으로 엽니다. 이 기술은 원활한 사용자 경험을 위해 현재 탭에 초점을 유지하는 것이 중요한 브라우저 확장 프로그램이나 북마크릿에 특히 유용합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3