2011-03-30 1 views
1

J'essaie de créer une extension pour Google Chrome ici. Lorsque Shift + G est enfoncé, l'onglet actuel doit automatiquement rediriger vers une nouvelle URL. L'API Chrome ne donne pas une méthode facile pour assigner un raccourci clavier à une action, j'ai donc utilisé window.addKeyListener pour surveiller les pressions sur les touches. Voici comment mon code ressemble à:Problème avec l'ajout d'un raccourci clavier dans une extension

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)

Mais le problème est, rien ne se passe quand je frappe Maj +X. Qu'est-ce que je fais mal?

+0

Le 'http: // urlhere.com' ne devrait-il pas être entre guillemets? – slartibartfast

Répondre

2

La page d'arrière-plan n'est pas visible, elle ne reçoit donc aucun événement de clavier. Vous devez ajouter un écouteur d'événement aux scripts de contenu injectés sur toutes les pages, puis appuyer sur votre touche pour envoyer une requête à une page d'arrière-plan afin d'ouvrir un nouvel onglet via l'API (ou simplement modifier window.location.href à partir d'un contenu scénario).

+0

Merci, je l'ai eu en travaillant en faisant tous les changements nécessaires. –

Questions connexes