tabs.detectLanguage()
Ermittelt die Hauptsprache des Inhalts in einem Tab mit dem Compact Language Detector (CLD).
Dies ist eine asynchrone Funktion, die ein Promise
zurückgibt.
Syntax
let detecting = browser.tabs.detectLanguage(
tabId, // optional integer
callback // optional function
)
Parameter
tabId
Optional-
integer
. Standardmäßig wird der aktive Tab des aktuellen Fensters verwendet. callback
Optional-
function
. Wenn derzeit einetabId
angegeben ist, verwendet diese Methode diesen Callback, um die Ergebnisse zurückzugeben, anstatt ein Promise zu retournieren. Der Callback erhält als einziges Eingabeparameter einen String, der den erkannten Sprachcode wieen
oderfr
enthält.
Rückgabewert
Ein Promise
, das mit einem String erfüllt wird, der einen ISO-Sprachcode wie en
oder fr
darstellt. Für eine vollständige Liste der von dieser Methode unterstützten Sprachen siehe kLanguageInfoTable. Für eine unbekannte Sprache wird "und"
zurückgegeben (siehe jedoch Bug 1288263). Tritt ein Fehler auf, wird das Promise mit einer Fehlermeldung abgelehnt.
Beispiele
Ermitteln und protokollieren Sie die Sprache des aktiven Tabs, wenn der Benutzer auf eine Browser-Aktion klickt:
function onLanguageDetected(lang) {
console.log(`Language is: ${lang}`);
}
function onError(error) {
console.log(`Error: ${error}`);
}
browser.browserAction.onClicked.addListener(() => {
browser.tabs.detectLanguage().then(onLanguageDetected, onError);
});
Ermitteln und protokollieren Sie die Sprache jedes offenen Tabs, wenn der Benutzer auf eine Browser-Aktion klickt (beachten Sie, dass dieses Beispiel die Berechtigung "tabs" permission erfordert):
function onLanguageDetected(url, lang) {
console.log(`Language in ${url} is: ${lang}`);
}
function onError(error) {
console.log(`Error: ${error}`);
}
function detectLanguages(tabs) {
for (const tab of tabs) {
browser.tabs
.detectLanguage(tab.id)
.then((lang) => onLanguageDetected(tab.url, lang), onError);
}
}
browser.browserAction.onClicked.addListener(() => {
browser.tabs.query({}).then(detectLanguages, onError);
});
Browser-Kompatibilität
Hinweis:
Diese API basiert auf der Chromium-API chrome.tabs
. Diese Dokumentation stammt aus tabs.json
im Chromium-Code.