"Chrome.tabs non è supportato ..."


15

Ricevo sempre questo errore nella console di Chrome.

Uncaught Error: chrome.tabs is not supported in content scripts. See the content scripts documentation for more details.

Ma tutto funziona bene.

Qualcuno sa cosa sta causando questo e come posso risolverlo?

Risposte:


36

In genere, la causa è un'estensione che si comporta male. Nel mio caso era "MeasureIt!". Per identificare quale estensione sta causando problemi, puoi farlo anche tu

disattivali uno per uno e testali

  1. disattiva tutte le estensioni
  2. assicurarsi che l'errore sia scomparso
  3. attiva le estensioni una per una
  4. verifica se l'errore riappare, ripetere dal passaggio 3

o

cerca il loro codice sorgente

  1. Aperto chrome://extensions
  2. attiva la "Modalità sviluppatore" nell'angolo in alto a destra
  3. ora puoi aprire background.htmlper ogni estensione
  4. Ctrl + F, digita "chrome.tabs" per cercare spot di codice sospetti
  5. fornire feedback al creatore dell'estensione

8
Bello :) Era 'Measureit!' anche per me ..
Eddie,

7

Non è possibile utilizzare chrome.tabsnegli script di contenuto. Secondo la documentazione ,

... gli script di contenuto hanno alcune limitazioni. Loro non possono:

  • Usa Chrome. * API (ad eccezione di parti di chrome.extension)
  • Usa variabili o funzioni definite dalle pagine delle loro estensioni
  • Utilizzare variabili o funzioni definite da pagine Web o da altri script di contenuto

Pertanto, puoi utilizzare l' chrome.tabsAPI solo nelle pagine di sfondo o in altre pagine di estensione. È possibile utilizzare il messaggio di estensione che passa per richiedere l'utilizzo di una pagina in background chrome.tabs.


Non capisco cosa stia usando chrome.tabs. Potrebbe essere una delle mie estensioni di Chrome?
8k_of_power

3
Sì, questo errore può essere generato solo da un'estensione di Chrome (a partire da ora).

5
Per me, è stato MeasureIt! causando l'errore.
Justin Bull,

@weng Se l'errore persiste, provare a disabilitare alcune estensioni nei gruppi e vedere se l'errore è stato rimosso.

Misuralo! Causa anche questo errore per. Non posso preoccuparmi di eseguire il debug del codice di qualcun altro, quindi per ora lo sto sopportando.

1

Ciò è causato da un'estensione che utilizza l' chrome.tabsautorizzazione, ma senza specificare che lo fa nel manifest.jsonpacchetto con l'estensione. Il trucco non è solo quello di trovare l'estensione che utilizza chrome.tabs, ma di trovare quella che lo fa senza annunciarlo.

Inizia con un approccio più automatizzato (comandi multilinea per la leggibilità): On * nix:

$ find . -type f \
> | xargs grep -l chrome.tabs \
> | cut -d '/' -f 2 \
> | uniq

Su Windows, usando PowerShell:

> gci -rec |? {-not $_.PSIsContainer} `
>> | sls 'chrome.tabs' `
>> | select -Unique Path `
>> |% {$_.Path.Split('\')[10] } `
>> | select -Unique
>>

Quindi vai alla chrome://extensionsscheda per abbinare le directory nei risultati ai nomi delle estensioni e fai clic sulle autorizzazioni di ciascuno per vedere chi non si sta impegnando per il loro utilizzo chrome.tabs. Si noti che sulla linea 4 della PowerShell snippet, indice I '10', perché questo è il numero di componenti percorso ci sono da C:\alla Extensionsdirectory; potrebbe essere diverso sul tuo sistema.

Nel mio caso, ho completamente automatizzato la ricerca prendendo di mira un paio di altri segmenti della pipeline:

$ find . type f \
> | xargs grep -l chrome.tabs \
> | cut -d '/' -f 2 \
> | uniq \
> | xargs -I % find % -name 'manifest.json' \
> | xargs grep -L tabs
hipbfijinpcgfogaopmgehiegacbhmob/16.0.544_0/manifest.json
hipbfijinpcgfogaopmgehiegacbhmob/17.1_0/manifest.json
hipbfijinpcgfogaopmgehiegacbhmob/18.1_0/manifest.json

Ora, guardando dentro chrome://extensions:

inserisci qui la descrizione dell'immagine

Arrestato.

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.