2009-02-26 6 views
7

플래시가 키보드 포커스가, CTRL + T (새 탭) 및 CTRL + N (새 창) 플래시에 의해 차단된다.자바 스크립트 새 탭 (CTRL + T), 새 창 (CTRL + N)?

이러한 이벤트를 브라우저에 전달하여 새 탭을 열거 나 새 브라우저를 여는 방법이 있습니까? 아니면 이러한 작업에 대한 javascript 명령이 있습니까? 가장 가까운

+0

나는 항상이 질문을하고 싶었고, 나를 위해 그렇게했다. 고마워요. – Matias

답변

2

이것은 플래시와 브라우저에서 오래 지속되는 문제입니다. (입니다. 모질라 브라우저에서는 eight-year-old bug입니다.) 문제는 브라우저가 브라우저가 아닌 모든 입력 이벤트를 가로 챕니다. 자체 환경에서 샌드 박싱되어 이벤트를 다시 브라우저로 전달하지 않습니다.

개념적으로 이것은 반드시 나쁜 것은 아닙니다. 플래시가 "Ctrl + N"이벤트를 듣고 싶을 때 어떻게됩니까? 브라우저가 이미 단축키를 사용하고 있기 때문에 플래시에서 멀리 떨어져 있어야합니까? 플래시 개발자들에게는 정말 고통 스러울 것입니다.

특정 브라우저에서 본이 문제를 해결하는 방법에 대한 제안이 있지만 구체적인 해결책은 없습니다. 예를 들어 this solution은 버그에서 언급되었지만 사용자가 원하는대로 작동하지 않습니다 (사용자가 정상적으로 작동하려면 많은 농구대를 뛰어 넘어야하기 때문에).

그래서 ... 지금은 아닙니다. 이 문제가 해결 될 수 있다면 정말 멋지겠습니까.

+1

"브라우저가 이미 해당 단축키를 사용하기 때문에 플래시에서 멀리 떨어져 있어야합니까?" - 예! Flash는 브라우저의 "집"에있는 "게스트"입니다. 그리고 특히 나쁜 행동을 한 사람. :-) –

+0

하하하, 전에 플러그인에 대한 손님의 비유를 들어 본 적이 없네, 정말 멋지다. –

1

당신이 얻을 수있는 대부분의 사람들은이 새 창 또는 새 탭이 열립니다 (브라우저 환경 설정에 따라 빈 URL

// We abstract it in a function here in case we want to 
// change it later 
function openBlankWindow() 
{ 
    window.open(''); 
} 

에 빈 창을 엽니 액션 트리거 자바 스크립트를하는 것입니다) 웹 페이지에 의해 시작 되었기 때문에 팝업 차단기의 영향을받을 수 있습니다.

실제로 묻는 두 가지 작업 중 하나를 수행하도록 브라우저에 실제로 요청하는 방법은 없습니다. 웹 페이지에 권한/권한이 있다면 보안/성가신 악몽이 될 것입니다.

+0

나는 그가 Flash 내부에서도 정상적인 브라우저 기능을 사용하기를 바란다면 Flash에 브라우저에 대한 액세스 권한을 부여하고 싶지 않을 것이라고 생각합니다. –

+0

나는 이것이 내가 가장 먼저 말한 것은 "가장 가까이서"얻을 수 있었던 이유입니다. 플래시 커맨드에서 브라우저로 키 명령어를 버블 링하는 것이 어도비가 해결할 수있는 것입니다. –

+0

나머지 부분이 아니라 마지막 단락에 응답하고있었습니다. 나머지는 나에게 의미가 있습니다. –