คำอธิบาย
ใช้ chrome.dns
API สําหรับการแก้ไข DNS
สิทธิ์
dns
ความพร้อมใช้งาน
หากต้องการใช้ API นี้ คุณต้องประกาศสิทธิ์ "dns"
ใน manifest
{
"name": "My extension",
...
"permissions": [
"dns"
],
...
}
การใช้งาน
โค้ดต่อไปนี้เรียก resolve()
เพื่อดึงที่อยู่ IP ของ example.com
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
ตัวเลข
รหัสผลลัพธ์ 0 หมายถึงความสําเร็จ
เมธอด
resolve()
chrome.dns.resolve(
hostname: string,
callback?: function,
)
แก้ปัญหาชื่อโฮสต์หรือที่อยู่ IP ที่ระบุ
พารามิเตอร์
-
hostname
สตริง
ชื่อโฮสต์ที่จะแก้ไข
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
จะมีลักษณะดังนี้(resolveInfo: ResolveCallbackResolveInfo) => void
-
resolveInfo
-
การคืนสินค้า
-
Promise<ResolveCallbackResolveInfo>
ไฟล์ Manifest เวอร์ชัน 3 ขึ้นไปรองรับ Promise แต่มี Callback ไว้เพื่อให้ใช้กับเวอร์ชันก่อนหน้าได้ คุณใช้ทั้ง 2 รูปแบบในการเรียกใช้ฟังก์ชันเดียวกันไม่ได้ พรอมต์จะได้รับการแก้ไขด้วยประเภทเดียวกันกับที่ส่งไปยังการเรียกกลับ