2011-03-30 7 views
1

Google 크롬 확장 프로그램을 여기에서 작성하려고합니다. 시프트 + G을 누르면 현재 탭이 자동으로 새 URL로 리디렉션됩니다.내선 번호에 키보드 단축키 추가시 문제가 발생했습니다.

Chrome API는 키보드 단축키를 작업에 할당하는 쉬운 방법을 제공하지 않으므로 window.addKeyListener를 사용하여 키 누르기를 감시했습니다.

myKey=71; 
window.addKeyListener('keyup', redirp, false); 
function redirp(e) 
{ 
    var mynewurl1=http://urlhere.com; 
    if(e.keyCode==myKey) 
    chrome.tabs.update(tab.id,{"url":mynewurl1});   
} 

(background.html)

그러나 문제는 내가 시프트 + X을 쳤을 때, 아무 일도 발생하지 : 내 코드처럼 보이는 방법이다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+0

'http : // urlhere.com'을 따옴표로 묶지 않아야합니까? – slartibartfast

답변

0

대답 : Keyboard Shortcuts in Google Chrome/Chromium Extensions

불행하게도 글로벌 단축키로 후크 할 수있는 방법이 없습니다. 당신이 할 수있는 최선은 할 윈도우 이벤트 keypress 수신기를 추가 할 수 있습니다.

출처 : 크롬 확장 그룹 에 대한 출처 : 크롬 개발자.

2

배경 페이지가 표시되지 않으므로 키보드 이벤트가 수신되지 않습니다.

모든 페이지에 삽입 된 콘텐츠 스크립트에 이벤트 수신기를 추가해야합니다. 그러면 키를 누르면 배경 페이지로 API를 통해 새 탭을 열도록 요청을 보내거나 콘텐츠에서 window.location.href을 변경할 수 있습니다 스크립트).

+0

감사합니다. 필요한 모든 변경 작업을 수행했습니다. –

관련 문제