说明
使用 chrome.dns
API 进行 DNS 解析。
权限
dns
可用性
<ph type="x-smartling-placeholder"></ph>
开发者版
如需使用此 API,您必须在清单中声明 "dns"
权限。
{
"name": "My extension",
...
"permissions": [
"dns"
],
...
}
用法
以下代码会调用 resolve()
来检索 example.com
的 IP 地址。
service-worker.js:
const resolveDNS = async () => {
let record = await chrome.dns.resolve('example.com');
console.log(record.address); // "192.0.2.172"
};
resolveDNS();
类型
ResolveCallbackResolveInfo
属性
-
地址
字符串(可选)
表示 IP 地址字面量的字符串。仅当 resultCode 指示成功时才提供。
-
resultCode
number
结果代码。零表示成功。
方法
resolve()
<ph type="x-smartling-placeholder"></ph>
承诺
chrome.dns.resolve(
hostname: string,
callback?: function,
)
解析给定的主机名或 IP 地址字面量。
参数
-
主机名
字符串
要解析的主机名。
-
callback
函数(可选)
callback
参数如下所示:(resolveInfo: ResolveCallbackResolveInfo) => void
-
resolveInfo
-
返回
-
Promise<ResolveCallbackResolveInfo>
Manifest V3 及更高版本支持 Promise,但为以下项目提供回调: 向后兼容性您不能在同一个函数调用中同时使用这两者。通过 promise 使用传递给回调的类型进行解析。