tabs.detectLanguage()
Обнаруживает основной язык содержимого вкладки, используя компактный детектор языка (CLD). Compact Language Detector.
Это асинхронная функция, которая возвращает Promise.
Синтаксис
let detecting = browser.tabs.detectLanguage( tabId, // optional integer callback // optional function )
Параметры
-
tabIdНеобязательно -
integer. По умолчанию активная вкладка текущего окна. -
callbackНеобязательно -
function. В настоящее время, если указана функция обратного вызова, этот метод использует её для возвращения результатов вместо возвращения промиса. Функция обратного вызова получает в качестве единственного входного параметра строку, содержащую код обнаруженного языка, например,enилиfr.
Возвращаемое значение
A Promise, который будет выполнен со строкой, представляющей код языка ISO, например, en или fr. Полный список языков, поддерживаемых этим методом, см. в kLanguageInfoTable. Для неизвестного языка возвращается "und" (но см. bug 1288263). При возникновении ошибки промис будет отклонен с сообщением об ошибке.
Примеры
Обнаружение и вывод языка активной вкладки при нажатии на действие браузера:
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); });
Обнаружение и вывод языка каждой открытой вкладки при нажатии на действие браузера (обратите внимание, что для этого примера необходимо разрешение "tabs" разрешение):
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); });
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
detectLanguage |
5 | 14 | 45 | ? | 15 | 14["При версиях ОС ниже 11 будет возвращеноund (неизвестный язык).", "Идентификатор локали будет чаще включать код страны."] |
? | ? | Нет | ? | 15 | ? |
Примечание: Этот API основан на API chrome.tabs Chromium. Данная документация взята из tabs.json в коде Chromium.
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/detectLanguage