คำอธิบาย
API แถบอเนกประสงค์ช่วยให้คุณลงทะเบียนคีย์เวิร์ดกับแถบที่อยู่ของ Google Chrome ซึ่งเรียกอีกอย่างว่าแถบอเนกประสงค์ได้

เมื่อผู้ใช้ป้อนคีย์เวิร์ดของส่วนขยาย ผู้ใช้จะเริ่มโต้ตอบกับส่วนขยายของคุณเท่านั้น ระบบจะส่งการกดแป้นแต่ละครั้งไปยังส่วนขยาย และคุณสามารถให้คำแนะนำในการตอบกลับได้
คำแนะนำสามารถจัดรูปแบบได้อย่างหลากหลาย เมื่อผู้ใช้ยอมรับคำแนะนำ ส่วนขยายจะได้รับการแจ้งเตือนและดำเนินการได้
ไฟล์ Manifest
คุณต้องใส่ฟิลด์ "omnibox.keyword" ใน manifest เพื่อใช้ Omnibox 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-samples
ประเภท
DefaultSuggestResult
ผลลัพธ์การแนะนำ
พร็อพเพอร์ตี้
-
คำอธิบาย
สตริง
ข้อความที่แสดงในเมนูแบบเลื่อนลงของ URL มีมาร์กอัปสไตล์ XML สำหรับการจัดรูปแบบได้ แท็กที่รองรับคือ "url" (สำหรับ URL ที่แท้จริง), "match" (สำหรับการไฮไลต์ข้อความที่ตรงกับคำค้นหาของผู้ใช้) และ "dim" (สำหรับข้อความช่วยเหลือที่จางลง) โดยสามารถซ้อนสไตล์ได้ เช่น การจับคู่ที่จาง
DescriptionStyleType
ประเภทสไตล์
ค่าแจกแจง
"url"
"match"
"dim"
OnInputEnteredDisposition
การแสดงผลหน้าต่างสำหรับการค้นหาในแถบอเนกประสงค์ นี่คือบริบทที่แนะนำในการแสดงผลลัพธ์ ตัวอ��่างเช่น หากคำสั่งในช่องอเนกประสงค์คือการไปยัง URL หนึ่งๆ สถานะ "newForegroundTab" หมายความว่าการนำทางควรเกิดขึ้นในแท็บใหม่ที่เลือก
ค่าแจกแจง
"currentTab"
"newForegroundTab"
"newBackgroundTab"
SuggestResult
ผลลัพธ์การแนะนำ
พร็อพเพอร์ตี้
-
เนื้อหา
สตริง
ข้อความที่ป้อนในแถบ URL และข้อความที่จะส่งไปยังส่วนขยายเมื่อผู้ใช้เลือกรายการนี้
-
ลบได้
บูลีน ไม่บังคับ
Chrome 63 ขึ้นไปผู้ใช้ลบผลการค้นหาที่แนะนำได้หรือไม่
-
คำอธิบาย
สตริง
ข้อความที่แสดงในเมนูแบบเลื่อนลงของ URL มีมาร์กอัปสไตล์ XML สำหรับการจัดรูปแบบได้ แท็กที่รองรับคือ "url" (สำหรับ URL ที่แท้จริง), "match" (สำหรับการไฮไลต์ข้อความที่ตรงกับคำค้นหาของผู้ใช้) และ "dim" (สำหรับข้อความช่วยเหลือที่จางลง) โดยสามารถซ้อนสไตล์ได้ เช่น การจับคู่ที่จาง คุณต้องหลีกเลี่ยงเอนทิตีที่กำหนดไว้ล่วงหน้า 5 รายการเพื่อแสดงเป็นข้อความ เช่น stackoverflow.com/a/1091953/89484
เมธอด
setDefaultSuggestion()
chrome.omnibox.setDefaultSuggestion(
suggestion: DefaultSuggestResult,
): Promise<void>
กำหนดคำอธิบายและการจัดรูปแบบสำหรับคำแนะนำเริ่มต้น คำแนะนำเริ่มต้นคือข้อความที่แสดงในแถวคำแนะนำแรกใต้แถบ URL
พารามิเตอร์
-
คำแนะนำ
ออบเจ็กต์ SuggestResult บางส่วนที่ไม่มีพารามิเตอร์ "content"
การคืนสินค้า
-
Promise<void>
Chrome 100 ขึ้นไป
กิจกรรม
onDeleteSuggestion
chrome.omnibox.onDeleteSuggestion.addListener(
callback: function,
)
ผู้ใช้ลบผลการค้นหาที่แนะนำ
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackมีลักษณะดังนี้(text: string) => void
-
ข้อความ
สตริง
-
onInputCancelled
chrome.omnibox.onInputCancelled.addListener(
callback: function,
)
ผู้ใช้สิ้นสุดเซสชันการป้อนคีย์เวิร์ดโดยไม่ยอมรับอินพุต
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackมีลักษณะดังนี้() => void
onInputChanged
chrome.omnibox.onInputChanged.addListener(
callback: function,
)
ผู้ใช้ได้เปลี่ยนข้อความที่พิมพ์ลงในแถบอเนกประสงค์
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackมีลักษณะดังนี้(text: string, suggest: function) => void
-
ข้อความ
สตริง
-
แนะนำ
ฟังก์ชัน
พารามิเตอร์
suggestมีลักษณะดังนี้(suggestResults: SuggestResult[]) => void
-
suggestResults
อาร์เรย์ของผลลัพธ์การแนะนำ
-
-
onInputEntered
chrome.omnibox.onInputEntered.addListener(
callback: function,
)
ผู้ใช้ยอมรับสิ่งที่พิมพ์ลงในแถบอเนกประสงค์
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackมีลักษณะดังนี้(text: string, disposition: OnInputEnteredDisposition) => void
-
ข้อความ
สตริง
-
การควบคุม
-
onInputStarted
chrome.omnibox.onInputStarted.addListener(
callback: function,
)
ผู้ใช้เริ่มเซสชันการป้อนคีย์เวิร์ดโดยพิมพ์คีย์เวิร์ดของส่วนขยาย ระบบรับประกันว่าจะส่งเหตุการณ์นี้ 1 ครั้งต่อเซสชันอินพุต และก่อนเหตุการณ์ onInputChanged
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackมีลักษณะดังนี้() => void