คำอธิบาย
API ของแถบอเนกประสงค์ช่วยให้คุณลงทะเบียนคีย์เวิร์ดกับแถบที่อยู่ของ Google Chrome ซึ่งเรียกอีกอย่างว่าแถบอเนกประสงค์ได้
เมื่อผู้ใช้ป้อนคีย์เวิร์ดของส่วนขยาย ผู้ใช้จะเริ่มโต้ตอบกับส่วนขยายของคุณเท่านั้น ระบบจะส่งการกดแป้นพิมพ์แต่ละครั้งไปยังส่วนขยาย และคุณจะให้คําแนะนําในการตอบกลับได้
คำแนะนำสามารถจัดรูปแบบได้หลากหลายวิธี เมื่อผู้ใช้ยอมรับคำแนะนำ ส่วนขยายของคุณจะได้รับการแจ้งเตือนและดำเนินการได้
ไฟล์ Manifest
คุณต้องรวมช่อง omnibox
keyword
ในไฟล์ Manifest เพื่อใช้ API ของแถบอเนกประสงค์ นอกจากนี้ คุณยังควรระบุไอคอนขนาด 16x16 พิกเซลซึ่งจะแสดงในแถบที่อยู่เมื่อแนะนำให้ผู้ใช้เข้าสู่โหมดคีย์เวิร์ด
เช่น
{
"name": "Aaron's omnibox extension",
"version": "1.0",
"omnibox": { "keyword" : "aaron" },
"icons": {
"16": "16-full-color.png"
},
"background": {
"persistent": false,
"scripts": ["background.js"]
}
}
ตัวอย่าง
หากต้องการลองใช้ API นี้ ให้ติดตั้งตัวอย่าง API ของแถบอเนกประสงค์จากที่เก็บ chrome-extension-sample
ประเภท
DefaultSuggestResult
ผลลัพธ์ที่แนะนำ
พร็อพเพอร์ตี้
-
คำอธิบาย
string
ข้อความที่แสดงในเมนูแบบเลื่อนลง URL สามารถมีมาร์กอัปรูปแบบ XML สำหรับการจัดรูปแบบ แท็กที่สนับสนุนได้แก่ "url" (สำหรับ URL ตรงตัว) "match" (สำหรับการเน้นข้อความที่ตรงกับข้อความค้นหาของผู้ใช้) และ "dim" (สำหรับข้อความตัวช่วยแสดงความสว่าง) รูปแบบสามารถซ้อนกันได้ เช่น การจับคู่แบบจาง
DescriptionStyleType
ประเภทสไตล์
ค่าแจกแจง
"url"
OnInputEnteredDisposition
การจัดการหน้าต่างสำหรับการค้นหาในแถบอเนกประสงค์ ซึ่งเป็นบริบทที่แนะนำในการแสดงผลลัพธ์ ตัวอย่างเช่น หากคำสั่งของแถบอเนกประสงค์คือการไปยัง URL หนึ่ง การจัดการ "newForegroundTab" จะทำให้การนำทางเกิดขึ้นในแท็บใหม่ที่เลือก
ค่าแจกแจง
"currentTab"
"newForegroundTab"
"newBackgroundTab"
SuggestResult
ผลลัพธ์ที่แนะนำ
พร็อพเพอร์ตี้
-
คอนเทนต์
string
ข้อความที่ใส่ในแถบ URL และที่ส่งไปยังส่วนขยายเมื่อผู้ใช้เลือกรายการนี้
-
ลบได้
บูลีน ไม่บังคับ
Chrome 63 ขึ้นไปผู้ใช้สามารถลบผลลัพธ์ของคำแนะนำได้หรือไม่
-
คำอธิบาย
string
ข้อความที่แสดงในเมนูแบบเลื่อนลง URL สามารถมีมาร์กอัปรูปแบบ XML สำหรับการจัดรูปแบบ แท็กที่สนับสนุนได้แก่ "url" (สำหรับ URL ตรงตัว) "match" (สำหรับการเน้นข้อความที่ตรงกับข้อความค้นหาของผู้ใช้) และ "dim" (สำหรับข้อความตัวช่วยแสดงความสว่าง) รูปแบบสามารถซ้อนกันได้ เช่น การจับคู่แบบจาง คุณต้องกำหนด Escape กับเอนทิตีที่กำหนดไว้ล่วงหน้า 5 รายการเพื่อแสดงเป็นข้อความ: stackoverflow.com/a/1091953/89484
วิธีการ
setDefaultSuggestion()
chrome.omnibox.setDefaultSuggestion(
suggestion: DefaultSuggestResult,
callback?: function,
)
ตั้งค่าคำอธิบายและการจัดรูปแบบสำหรับคำแนะนำเริ่มต้น คำแนะนำเริ่มต้นคือข้อความที่แสดงในแถวคำแนะนำแรกใต้แถบ URL
พารามิเตอร์
-
คำแนะนำ
อ็อบเจ็กต์ Suggest Results บางส่วน โดยไม่มีพารามิเตอร์ "content"
-
Callback
ฟังก์ชัน ไม่บังคับ
Chrome 100 ขึ้นไปพารามิเตอร์
callback
มีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 100 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
กิจกรรม
onDeleteSuggestion
chrome.omnibox.onDeleteSuggestion.addListener(
callback: function,
)
ผู้ใช้ได้ลบผลลัพธ์ที่แนะนำแล้ว
พารามิเตอร์
-
Callback
ฟังก์ชัน
พารามิเตอร์
callback
มีลักษณะดังนี้(text: string) => void
-
ข้อความ
string
-
onInputCancelled
chrome.omnibox.onInputCancelled.addListener(
callback: function,
)
ผู้ใช้สิ้นสุดเซสชันการป้อนคีย์เวิร์ดโดยไม่ยอมรับอินพุต
พารามิเตอร์
-
Callback
ฟังก์ชัน
พารามิเตอร์
callback
มีลักษณะดังนี้() => void
onInputChanged
chrome.omnibox.onInputChanged.addListener(
callback: function,
)
ผู้ใช้ได้เปลี่ยนสิ่งที่พิมพ์ลงในแถบอเนกประสงค์
พารามิเตอร์
-
Callback
ฟังก์ชัน
พารามิเตอร์
callback
มีลักษณะดังนี้(text: string, suggest: function) => void
-
ข้อความ
string
-
แนะนำ
ฟังก์ชัน
พารามิเตอร์
suggest
มีลักษณะดังนี้(suggestResults: SuggestResult[]) => void
-
suggestResults
อาร์เรย์ของผลลัพธ์คำแนะนำ
-
-
onInputEntered
chrome.omnibox.onInputEntered.addListener(
callback: function,
)
ผู้ใช้ได้ยอมรับสิ่งที่พิมพ์ลงในแถบอเนกประสงค์
พารามิเตอร์
-
Callback
ฟังก์ชัน
พารามิเตอร์
callback
มีลักษณะดังนี้(text: string, disposition: OnInputEnteredDisposition) => void
-
ข้อความ
string
-
การควบคุม
-
onInputStarted
chrome.omnibox.onInputStarted.addListener(
callback: function,
)
ผู้ใช้ได้เริ่มเซสชันการป้อนคีย์เวิร์ดโดยการพิมพ์คีย์เวิร์ดของส่วนขยาย ซึ่งรับประกันว่าจะส่งได้เพียงครั้งเดียวต่อเซสชันอินพุต และก่อนเหตุการณ์ onInputChanged
พารามิเตอร์
-
Callback
ฟังก์ชัน
พารามิเตอร์
callback
มีลักษณะดังนี้() => void