2012-05-19 19 views
5

mio manifest.json contienechrome.tabs.create sta dando un errore - "TypeError Uncaught: Impossibile chiamare il metodo 'Crea' di non definito"

"content_scripts": [ 
    { 
    "matches": ["http://www.facebook.com/*","https://www.facebook.com/*"], 
    "js": ["js/jquery-1.7.2.min.js", "js/jquery.livequery.min.js", "js/script.js"] 
    } 
] 

e il contenuto di script.js sono

$("#FB_HiddenContainer").livequery(function(){ 
    chrome.tabs.create({"url":"http://www.google.com"}); 
}); 

quando apro facebook, console segnala un errore

Uncaught TypeError: Impossibile chiamare il metodo 'crea' di indefinito

a

cromo-extension: //whateveristhisweirdcode/js/script.js: 2

Come posso rendere aprire una nuova scheda ??

risposta

18

Gli script di contenuto non possono accedere alla maggior parte delle API di estensione; solo quelli elencati in the content scripts doc funzioneranno. Invece, usa window.open ("http://www.google.com") (sì, questo fa crea una nuova scheda in Chrome, no, ci non sono impostazioni utente in Chrome che cambierebbe quella). Se hai bisogno di più accesso alle API di estensione, puoi utilizzare message passing per fare il tuo event page fare cose per conto dello script di contenuto.

Problemi correlati