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

js
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 eine tabId 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 wie en oder fr 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:

js
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):

js
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.