語法
js
let detecting = browser.tabs.detectLanguage(
tabId, // optional integer
callback // optional function
)
引數
tabId可選-
integer。預設為當前視窗的活動標籤頁。 callback可選-
function。當前,如果指定了tabId,則此方法將使用此回撥來返回結果,而不是返回一個 Promise。回撥的唯一輸入引數是一個包含檢測到的語言程式碼(例如en或fr)的字串。
返回值
一個 Promise,它將以代表 ISO 語言程式碼(例如 en 或 fr)的字串解析。有關此方法支援的語言的完整列表,請參閱 kLanguageInfoTable。對於未知語言,將返回 "und"(但請參閱 bug 1288263)。如果發生任何錯誤,Promise 將被拒絕並顯示錯誤訊息。
示例
當用戶點選瀏覽器操作時,檢測並記錄活動標籤頁的語言。
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);
});
當用戶點選瀏覽器操作時,檢測並記錄每個開啟標籤頁的語言(請注意,此示例需要 "tabs" 許可權)。
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);
});
瀏覽器相容性
載入中…
注意: 此 API 基於 Chromium 的 chrome.tabs API。本文件源自 Chromium 程式碼中的 tabs.json。