tabs.detectLanguage()
语法
js
let detecting = browser.tabs.detectLanguage(
tabId, // optional integer
callback // optional function
)
参数
返回值
一个 Promise
,它将以表示 ISO 语言代码(例如 en
或 fr
)的字符串的形式完成。有关此方法支持的完整语言列表,请参阅 kLanguageInfoTable。对于未知语言,将返回 "und"
(但请参阅 错误 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);
});
当用户点击浏览器操作时,检测并记录每个打开的标签页的语言(请注意,此示例需要“标签页” 权限)
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);
});
浏览器兼容性
BCD 表仅在浏览器中加载
注意:此 API 基于 Chromium 的 chrome.tabs
API。本文档源自 Chromium 代码中的 tabs.json
。