tabs.detectLanguage()
Erkennt die primäre Sprache des Inhalts in einem Tab unter Verwendung des 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
. Derzeit wird, wenn eintabId
angegeben ist, dieser Rückruf verwendet, um die Ergebnisse zurückzugeben, anstatt ein Promise zurückzugeben. Der Rückruf 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 sehen Sie kLanguageInfoTable. Für eine unbekannte Sprache wird "und"
zurückgegeben (siehe Fehler 1288263). Wenn ein Fehler auftritt, wird das Promise mit einer Fehlermeldung abgelehnt.
Beispiele
Erkennt und protokolliert 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);
});
Erkennt und protokolliert die Sprache jedes offenen Tabs, wenn der Benutzer auf eine Browser-Aktion klickt (beachten Sie, dass dieses Beispiel die Berechtigung "tabs" 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
BCD tables only load in the browser
Hinweis:
Diese API basiert auf der chrome.tabs
API von Chromium. Diese Dokumentation stammt aus tabs.json
im Chromium-Code.