refresh date: 2026-09-25 robots: noindex
คำอธิบาย
ใช้ chrome.runtime API เพื่อดึงข้อมูล Service Worker, แสดงรายละเอียดเกี่ยวกับไฟล์ Manifest รวมถึงฟังและตอบสนองต่อเหตุการณ์ในวงจรของส่วนขยาย นอกจากนี้ คุณยังใช้ API นี้เพื่อแปลง Relative Path ของ URL เป็น URL แบบเต็มที่ถูกต้องได้ด้วย
ภาพรวม
Runtime API มีเมธอดที่รองรับฟังก์ชันการทำงานหลายด้านที่ส่วนขยายของคุณสามารถใช้ได้ ดังนี้
- การส่งข้อความ
- ส่วนขยายของคุณสามารถสื่อสารกับบริบทต่างๆ ภายในส่วนขยายของคุณเอง และสื่อสารกับส่วนขยายอื่นๆ ได้โดยใช้เมธอดและเหตุการณ์ต่อไปนี้ connect(), onConnect, onConnectExternal, sendMessage(), onMessage และ onMessageExternal นอกจากนี้ ส่วนขยายยังส่งข้อความไปยังแอปพลิเคชันแบบเนทีฟในอุปกรณ์ของผู้ใช้ได้โดยใช้ connectNative() และ sendNativeMessage()
- การเข้าถึงข้อมูลเมตาของส่วนขยายและแพลตฟอร์ม
- เมธอดเหล่านี้ช่วยให้คุณดึงข้อมูลเมตาที่เฉพาะเจาะจงหลายรายการเกี่ยวกับส่วนขยายและแพลตฟอร์มได้ เมธอดในหมวดหมู่นี้รวมถึง getManifest() และ getPlatformInfo()
- การจัดการวงจรและตัวเลือกของส่วนขยาย
- พร็อพเพอร์ตี้เหล่านี้ช่วยให้คุณดำเนินการเมตาบางอย่างในส่วนขยายและแสดงหน้าตัวเลือกได้ เมธอดและเหตุการณ์ในหมวดหมู่นี้ ได้แก่ onInstalled, onStartup, openOptionsPage(), reload(), requestUpdateCheck() และ setUninstallURL()
- ยูทิลิตีตัวช่วย
- เมธอดเหล่านี้มียูทิลิตี เช่น การแปลงการแสดงทรัพยากรภายในเป็นรูปแบบภายนอก เมธอดในหมวดหมู่นี้รวมถึง getURL()
- ยูทิลิตีโหมดคีออสก์
- วิธีการเหล่านี้ใช้ได้เฉพาะใน ChromeOS และมีไว้เพื่อรองรับการใช้งานคีออสก์เป็นหลัก เมธอดในหมวดหมู่นี้รวมถึง restart และ restartAfterDelay
สิทธิ์
เมธอดส่วนใหญ่ใน Runtime API ไม่ต้องใช้สิทธิ์ใดๆ ยกเว้น sendNativeMessage และ connectNative ซึ่งต้องใช้สิทธิ์ nativeMessaging
ไฟล์ Manifest
ตัวอย่างต่อไปนี้แสดงวิธีประกาศสิทธิ์ nativeMessaging ในไฟล์ Manifest
manifest.json:
{
"name": "My extension",
...
"permissions": [
"nativeMessaging"
],
...
}
กรณีการใช้งาน
เพิ่มรูปภาพลงในหน้าเว็บ
หน้าเว็บต้องระบุ URL แบบเต็มของทรัพยากร (เช่น <img src="https://example.com/logo.png">) เพื่อเข้าถึงเนื้อหาที่โฮสต์ในโดเมนอื่น เช่นเดียวกับการรวมชิ้นงานส่วนขยายไว้ในหน้าเว็บ ความแตกต่าง 2 ประการคือ ชิ้นงานของส่วนขยายต้องแสดงเป็นทรัพยากรที่เข้าถึงได้บนเว็บ และโดยปกติแล้วสคริปต์เนื้อหาจะมีหน้าที่แทรกชิ้นงานของส่วนขยาย
ในตัวอย่างนี้ ส่วนขยายจะเพิ่ม logo.png ลงในหน้าที่สคริปต์เนื้อหาถูกแทรกเข้าไปโดยใช้ runtime.getURL() เพื่อสร้าง URL ที่สมบูรณ์ แต่ก่อนอื่น ต้องประกาศชิ้นงานเป็นทรัพยากรที่เข้าถึงได้บนเว็บในไฟล์ Manifest
manifest.json:
{
...
"web_accessible_resources": [
{
"resources": [ "logo.png" ],
"matches": [ "https://*/*" ]
}
],
...
}
content.js:
{ // Block used to avoid setting global variables
const img = document.createElement('img');
img.src = chrome.runtime.getURL('logo.png');
document.body.append(img);
}
ส่งข้อมูลจาก Service Worker ไปยังสคริปต์เนื้อหา
สคริปต์เนื้อหาของส่วนขยายมักจะต้องใช้ข้อมูลที่จัดการโดยส่วนอื่นของส่วนขยาย เช่น Service Worker บริบททั้ง 2 นี้ไม่สามารถเข้าถึงค่าของกันและกันได้โดยตรง เช่นเดียวกับหน้าต่างเบราว์เซอร์ 2 หน้าต่างที่เปิดหน้าเว็บเดียวกัน แต่ส่วนขยายสามารถใช้การส่งข้อความเพื่อประสานงานในบริบทต่างๆ เหล่านี้แทนได้
ในตัวอย่างนี้ สคริปต์เนื้อหาต้องการข้อมูลบางอย่างจาก Service Worker ของส่วนขยายเพื่อเริ่มต้น UI หากต้องการรับข้อมูลนี้ ระบบจะส่งข้อความ get-user-data ไปยัง Service Worker และจะตอบกลับด้วยสำเนาข้อมูลของผู้ใช้
content.js:
// 1. Send a message to the service worker requesting the user's data
chrome.runtime.sendMessage('get-user-data', (response) => {
// 3. Got an asynchronous response with the data from the service worker
console.log('received user data', response);
initializeUI(response);
});
background.js:
// Example of a simple user data object
const user = {
username: 'demo-user'
};
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
// 2. A page requested user data, respond with a copy of `user`
if (message === 'get-user-data') {
sendResponse(user);
}
});
รวบรวมความคิดเห็นเกี่ยวกับการถอนการติดตั้ง
ส่วนขยายจำนวนมากใช้แบบสำรวจหลังการถอนการติดตั้งเพื่อทำความเข้าใจว่าส่วนขยายจะให้บริการผู้ใช้ได้ดียิ่งขึ้นและปรับปรุงการคงผู้ใช้ไว้ได้อย่างไร ตัวอย่างต่อไปนี้แสดงวิธีเพิ่มฟังก์ชันนี้
background.js:
chrome.runtime.onInstalled.addListener(details => {
if (details.reason === chrome.runtime.OnInstalledReason.INSTALL) {
chrome.runtime.setUninstallURL('https://example.com/extension-survey');
}
});
ตัวอย่างส่วนขยาย
ดูตัวอย่าง Runtime API เพิ่มเติมได้ที่การสาธิต Manifest V3 - ทรัพยากรที่เข้าถึงได้บนเว็บ
ประเภท
ContextFilter
ตัวกรองเพื่อจับคู่กับบริบทของส่วนขยายบางอย่าง บริบทที่ตรงกันต้องตรงกับตัวกรองที่ระบุทั้งหมด ตัวกรองที่ไม่ได้ระบุจะตรงกับบริบทที่มีอยู่ทั้งหมด ดังนั้น ตัวกรอง `{}` จะจับคู่กับบริบทที่มีอยู่ทั้งหมด
พร็อพเพอร์ตี้
-
contextIds
string[] ไม่บังคับ
-
contextTypes
ContextType[] ไม่บังคับ
-
documentIds
string[] ไม่บังคับ
-
documentOrigins
string[] ไม่บังคับ
-
documentUrls
string[] ไม่บังคับ
-
frameIds
number[] ไม่บังคับ
-
ไม่ระบุตัวตน
บูลีน ไม่บังคับ
-
tabIds
number[] ไม่บังคับ
-
windowIds
number[] ไม่บังคับ
ContextType
ค่าแจกแจง
"TAB"
ระบุประเภทบริบทเป็นแท็บ
"POPUP"
ระบุประเภทบริบทเป็นหน้าต่างป๊อปอัปของส่วนขยาย
"BACKGROUND"
ระบุประเภทบริบทเป็น Service Worker
"OFFSCREEN_DOCUMENT"
ระบุประเภทบริบทเป็นเอกสารนอกหน้าจอ
"SIDE_PANEL"
ระบุประเภทบริบทเป็นแผงด้านข้าง
"DEVELOPER_TOOLS"
ระบุประเภทบริบทเป็นเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์
ExtensionContext
บริบทที่โฮสต์เนื้อหาของส่วนขยาย
พร็อพเพอร์ตี้
-
contextId
สตริง
ตัวระบุที่ไม่ซ้ำกันสำหรับบริบทนี้
-
contextType
ประเภทของบริบทที่สอดคล้องกัน
-
documentId
สตริง ไม่บังคับ
UUID สำหรับเอกสารที่เชื่อมโยงกับบริบทนี้ หรือไม่ได้กำหนดไว้หากบริบทนี้ไม่ได้โฮสต์ในเอกสาร
-
documentOrigin
สตริง ไม่บังคับ
ต้นทางของเอกสารที่เชื่อมโยงกับบริบทนี้ หรือไม่ได้กำหนดไว้หากบริบทไม่ได้โฮสต์ในเอกสาร
-
documentUrl
สตริง ไม่บังคับ
URL ของเอกสารที่เชื่อมโยงกับบริบทนี้ หรือไม่ได้กำหนดไว้หากบริบทไม่ได้โฮสต์ในเอกสาร
-
frameId
ตัวเลข
รหัสของเฟรมสำหรับบริบทนี้ หรือ -1 หากบริบทนี้ไม่ได้โฮสต์ในเฟรม
-
ไม่ระบุตัวตน
บูลีน
บริบทเชื่อมโยงกับโปรไฟล์ที่ไม่ระบุตัวตนหรือไม่
-
tabId
ตัวเลข
รหัสของแท็บสำหรับบริบทนี้ หรือ -1 หากบริบทนี้ไม่ได้โฮสต์ในแท็บ
-
windowId
ตัวเลข
รหัสของหน้าต่างสำหรับบริบทนี้ หรือ -1 หากบริบทนี้ไม่ได้โฮสต์ในหน้าต่าง
ExtensionLoadDetails
รายละเอียดเกี่ยวกับเหตุการณ์การโหลดส่วนขยาย
พร็อพเพอร์ตี้
-
previousVersion
สตริง ไม่บังคับ
ระบุเวอร์ชันก่อนหน้าของส่วนขยาย ซึ่งจะปรากฏก็ต่อเมื่อ "reason" เป็น "update" หรือ "enable" เท่านั้น หาก "reason" คือ "update" นี่คือเวอร์ชันของส่วนขยายก่อนที่จะอัปเดต หาก "reason" เป็น "enable" แสดงว่านี่เป็นเวอร์ชันปัจจุบันของส่วนขยาย
-
เหตุผล
เหตุผลที่ส่งเหตุการณ์นี้
MessageSender
ออบเจ็กต์ที่มีข้อมูลเกี่ยวกับบริบทของสคริปต์ที่ส่งข้อความหรือคำขอ
พร็อพเพอร์ตี้
-
documentId
สตริง ไม่บังคับ
Chrome 106 ขึ้นไปUUID ของเอกสารที่เปิดการเชื่อมต่อ
-
documentLifecycle
สตริง ไม่บังคับ
Chrome 106 ขึ้นไปวงจรของเอกสารที่เปิดการเชื่อมต่อ ณ เวลาที่สร้างพอร์ต โปรดทราบว่าสถานะวงจรของเอกสารอาจมีการเปลี่ยนแปลงตั้งแต่สร้างพอร์ต
-
frameId
number ไม่บังคับ
เฟรมที่เปิดการเชื่อมต่อ 0 สำหรับเฟรมระดับบนสุด และค่าบวกสำหรับเฟรมย่อย ระบบจะตั้งค่านี้เมื่อตั้งค่า
tabเท่านั้น -
id
สตริง ไม่บังคับ
รหัสของส่วนขยายที่เปิดการเชื่อมต่อ (หากมี)
-
nativeApplication
สตริง ไม่บังคับ
Chrome 74 ขึ้นไปชื่อของแอปพลิเคชันแบบเนทีฟที่เปิดการเชื่อมต่อ (หากมี)
-
origin
สตริง ไม่บังคับ
Chrome 80 ขึ้นไปต้นทางของหน้าเว็บหรือเฟรมที่เปิดการเชื่อมต่อ ซึ่งอาจแตกต่างจากพร็อพเพอร์ตี้ URL (เช่น about:blank) หรืออาจเป็นแบบทึบแสง (เช่น iframe ที่ทำแซนด์บ็อกซ์) ซึ่งจะเป็นประโยชน์ในการระบุว่าแหล่งที่มาเชื่อถือได้หรือไม่ หากเราไม่สามารถบอกได้ทันทีจาก URL
-
แท็บ
Tab ไม่บังคับ
tabs.Tabที่เปิดการเชื่อมต่อ (หากมี) พร็อพเพอร์ตี้นี้จะปรากฏเฉพาะเมื่อเปิดการเชื่อมต่อจากแท็บ (รวมถึงสคริปต์เนื้อหา) และเฉพาะเมื่อผู้รับเป็นส่วนขยาย ไม่ใช่แอป -
tlsChannelId
สตริง ไม่บังคับ
รหัสช่อง TLS ของหน้าหรือเฟรมที่เปิดการเชื่อมต่อ หากส่วนขยายร้องขอ และหากมี
-
URL
สตริง ไม่บังคับ
URL ของหน้าเว็บหรือเฟรมที่เปิดการเชื่อมต่อ หากผู้ส่งอยู่ใน iframe จะเป็น URL ของ iframe ไม่ใช่ URL ของหน้าเว็บที่โฮสต์
OnInstalledReason
เหตุผลที่ส่งเหตุการณ์นี้
ค่าแจกแจง
"install"
ระบุเหตุผลของเหตุการณ์เป็นการติดตั้ง
"update"
ระบุสาเหตุของเหตุการณ์เป็นการอัปเดตส่วนขยาย
"chrome_update"
ระบุเหตุผลของเหตุการณ์เป็นการอัปเดต Chrome
"shared_module_update"
ระบุสาเหตุของเหตุการณ์เป็นการอัปเดตโมดูลที่แชร์
OnLoadedReason
เหตุผลที่ส่งเหตุการณ์นี้
ค่าแจกแจง
"install"
ติดตั้งส่วนขยายใหม่แล้ว
"update"
ระบบโหลดส่วนขยายซ้ำหลังจากการอัปเดต
"browser_update"
เบราว์เซอร์ได้รับการอัปเดตเป็นเวอร์ชันใหม่
"enable"
ส่วนขยายเปิดใช้อีกครั้งจากสถานะปิดใช้
"startup"
ระบบกำลังโหลดส่วนขยายระหว่างการเริ่มต้นเบราว์เซอร์
"reload"
มีการโหลดส่วนขยายซ้ำ (เช่น ผ่าน chrome.runtime.reload() หรือผู้ใช้โหลดส่วนขยายซ้ำด้วยตนเอง)
OnRestartRequiredReason
สาเหตุที่มีการส่งเหตุการณ์ ระบบจะใช้ "app_update" เมื่อจำเป็นต้องรีสตาร์ทเนื่องจากมีการอัปเดตแอปพลิเคชันเป็นเวอร์ชันใหม่ "os_update" จะใช้เมื่อจำเป็นต้องรีสตาร์ทเนื่องจากเบราว์เซอร์/ระบบปฏิบัติการได้รับการอัปเดตเป็นเวอร์ชันใหม่ ระบบจะใช้ "periodic" เมื่อระบบทำงานนานกว่าระยะเวลาทำงานที่อนุญาตซึ่งตั้งค่าไว้ในนโยบายองค์กร
ค่าแจกแจง
"app_update"
ระบุเหตุผลของเหตุการณ์เป็นการอัปเดตแอป
"os_update"
ระบุเหตุผลของเหตุการณ์เป็นการอัปเดตระบบปฏิบัติการ
"periodic"
ระบุสาเหตุของเหตุการณ์เป็นการรีสตาร์ทแอปเป็นระยะๆ
PlatformArch
สถาปัตยกรรมตัวประมวลผลของเครื่อง
ค่าแจกแจง
"arm"
ระบุสถาปัตยกรรมโปรเซสเซอร์เป็น arm
"arm64"
ระบุสถาปัตยกรรมโปรเซสเซอร์เป็น arm64
"x86-32"
ระบุสถาปัตยกรรมโปรเซสเซอร์เป็น x86-32
"x86-64"
ระบุสถาปัตยกรรมโปรเซสเซอร์เป็น x86-64
"mips"
ระบุสถาปัตยกรรมโปรเซสเซอร์เป็น mips
"mips64"
ระบุสถาปัตยกรรมโปรเซสเซอร์เป็น mips64
"riscv64"
ระบุสถาปัตยกรรมโปรเซสเซอร์เป็น riscv64
PlatformInfo
ออบเจ็กต์ที่มีข้อมูลเกี่ยวกับแพลตฟอร์มปัจจุบัน
พร็อพเพอร์ตี้
-
arch
สถาปัตยกรรมตัวประมวลผลของเครื่อง
-
nacl_arch
PlatformNaclArch ไม่บังคับ
เลิกใช้งานตั้งแต่ Chrome 149แอตทริบิวต์นี้เลิกใช้งานแล้วหลังจากนำ Native Client ออกทั้งหมด
สถาปัตยกรรมไคลเอ็นต์เนทีฟ ซึ่งอาจแตกต่างจาก arch ในบางแพลตฟอร์ม
-
os
ระบบปฏิบัติการที่ Chrome ทำงานอยู่
PlatformNaclArch
enum นี้เลิกใช้งานแล้วหลังจากการนำ Native Client ออกอย่างสมบูรณ์
สถาปัตยกรรมไคลเอ็นต์เนทีฟ ซึ่งอาจแตกต่างจาก arch ในบางแพลตฟอร์ม
ค่าแจกแจง
"arm"
ระบุสถาปัตยกรรมไคลเอ็นต์แบบเนทีฟเป็น arm
"x86-32"
ระบุสถาปัตยกรรมไคลเอ็นต์แบบเนทีฟเป็น x86-32
"x86-64"
ระบุสถาปัตยกรรมไคลเอ็นต์แบบเนทีฟเป็น x86-64
"mips"
ระบุสถาปัตยกรรมไคลเอ็นต์แบบเนทีฟเป็น mips
"mips64"
ระบุสถาปัตยกรรมไคลเอ็นต์แบบเนทีฟเป็น mips64
PlatformOs
ระบบปฏิบัติการที่ Chrome ทำงานอยู่
ค่าแจกแจง
"mac"
ระบุระบบปฏิบัติการ MacOS
"win"
ระบุระบบปฏิบัติการ Windows
"android"
ระบุระบบปฏิบัติการ Android
"cros"
ระบุระบบปฏิบัติการ Chrome
"linux"
ระบุระบบปฏิบัติการ Linux
"openbsd"
ระบุระบบปฏิบัติการ OpenBSD
Port
ออบเจ็กต์ที่อนุญาตให้สื่อสารแบบ 2 ทางกับหน้าอื่นๆ ดูข้อมูลเพิ่มเติมได้ที่การเชื่อมต่อที่ใช้ได้นาน
พร็อพเพอร์ตี้
-
name
สตริง
ชื่อของพอร์ตตามที่ระบุในการเรียกใช้
runtime.connect -
onDisconnect
Event<functionvoidvoid>
เริ่มทำงานเมื่อพอร์ตถูกยกเลิกการเชื่อมต่อจากปลายทางอื่น ระบบอาจตั้งค่า
runtime.lastErrorหากพอร์ตถูกตัดการเชื่อมต่อเนื่องจากข้อผิดพลาด หากพอร์ตปิดผ่าน disconnect เหตุการณ์นี้จะเริ่มทำงานที่ปลายอีกด้านเท่านั้น เหตุการณ์นี้จะเริ่มทำงานอย่างมากที่สุด 1 ครั้ง (ดูอายุการใช้งานของพอร์ตด้วย)ฟังก์ชัน
onDisconnect.addListenerจะมีลักษณะดังนี้(callback: function) => {...}
-
onMessage
Event<functionvoidvoid>
เหตุการณ์นี้จะเริ่มทำงานเมื่อมีการเรียกใช้ postMessage โดยปลายทางอีกด้านของพอร์ต
ฟังก์ชัน
onMessage.addListenerจะมีลักษณะดังนี้(callback: function) => {...}
-
ผู้ส่ง
MessageSender ไม่บังคับ
พร็อพเพอร์ตี้นี้จะปรากฏเฉพาะในพอร์ตที่ส่งไปยัง Listener onConnect / onConnectExternal / onConnectNative
-
ตัดการเชื่อมต่อ
void
ถอดพอร์ตออกทันที การเรียก
disconnect()ในพอร์ตที่ยกเลิกการเชื่อมต่อแล้วจะไม่มีผลใดๆ เมื่อยกเลิกการเชื่อมต่อพอร์ต ระบบจะไม่ส่งเหตุการณ์ใหม่ไปยังพอร์ตนี้ฟังก์ชัน
disconnectจะมีลักษณะดังนี้() => {...} -
postMessage
void
ส่งข้อความไปยังปลายทางอีกด้านของพอร์ต หากพอร์ตถูกตัดการเชื่อมต่อ ระบบจะแสดงข้อผิดพลาด
ฟังก์ชัน
postMessageจะมีลักษณะดังนี้(message: any) => {...}
-
ข้อความ
ใดๆ
Chrome 52 ขึ้นไปข้อความที่จะส่ง ออบเจ็กต์นี้ควรเป็น JSON-ifiable
-
RequestUpdateCheckStatus
ผลลัพธ์ของการตรวจสอบการอัปเดต
ค่าแจกแจง
"throttled"
ระบุว่าการตรวจสอบสถานะถูกจำกัด ซึ่งอาจเกิดขึ้นหลังจากตรวจสอบซ้ำๆ ภายในระยะเวลาสั้นๆ
"no_update"
ระบุว่าไม่มีการอัปเดตที่พร้อมให้ติดตั้ง
"update_available"
ระบุว่ามีการอัปเดตที่พร้อมให้ติดตั้ง
พร็อพเพอร์ตี้
id
รหัสของส่วนขยาย/แอป
ประเภท
สตริง
lastError
ป้อนข้อความแสดงข้อผิดพลาดหากเรียกใช้ฟังก์ชัน API ไม่สำเร็จ หรือไม่ระบุไว้ ซึ่งจะกำหนดไว้ภายในขอบเขตของ Callback ของฟังก์ชันนั้นเท่านั้น หากเกิดข้อผิดพลาด แต่ไม่มีการเข้าถึง runtime.lastError ภายใน Callback ระบบจะบันทึกข้อความลงในคอนโซลที่แสดงฟังก์ชัน API ที่ทำให้เกิดข้อผิดพลาด ฟังก์ชัน API ที่แสดงผล Promise จะไม่ตั้งค่าพร็อพเพอร์ตี้นี้
ประเภท
ออบเจ็กต์
พร็อพเพอร์ตี้
-
ข้อความ
สตริง ไม่บังคับ
รายละเอียดเกี่ยวกับข้อผิดพลาดที่เกิดขึ้น
เมธอด
connect()
chrome.runtime.connect(
extensionId?: string,
connectInfo?: object,
): Port
พยายามเชื่อมต่อ Listener ภายในส่วนขยาย (เช่น หน้าพื้นหลัง) หรือส่วนขยาย/แอปอื่นๆ ซึ่งจะเป็นประโยชน์สำหรับสคริปต์เนื้อหาที่เชื่อมต่อกับกระบวนการของส่วนขยาย การสื่อสารระหว่างแอป/ส่วนขยาย และการรับส่งข้อความบนเว็บ โปรดทราบว่าการดำเนินการนี้จะไม่เชื่อมต่อกับ Listener ใดๆ ในสคริปต์เนื้อหา ส่วนขยายอาจเชื่อมต่อกับสคริปต์เนื้อหาที่ฝังในแท็บผ่าน tabs.connect
พารามิเตอร์
-
extensionId
สตริง ไม่บังคับ
รหัสของส่วนขยายที่จะเชื่อมต่อ หากละเว้น ระบบจะพยายามเชื่อมต่อกับส่วนขยายของคุณเอง ต้องระบุหากส่งข้อความจากหน้าเว็บสำหรับการรับส่งข้อความในเว็บ
-
connectInfo
object ไม่บังคับ
-
includeTlsChannelId
บูลีน ไม่บังคับ
ระบุว่าจะส่งรหัสช่อง TLS ไปยัง onConnectExternal สำหรับกระบวนการที่รอฟังเหตุการณ์การเชื่อมต่อหรือไม่
-
name
สตริง ไม่บังคับ
ระบบจะส่งไปยัง onConnect สำหรับกระบวนการที่รอฟังเหตุการณ์การเชื่อมต่อ
-
การคืนสินค้า
-
พอร์ตที่ใช้รับส่งข้อความได้ ระบบจะเริ่มเหตุการณ์ onDisconnect ของพอร์ตหากไม่มีส่วนขยาย
connectNative()
chrome.runtime.connectNative(
application: string,
): Port
เชื่อมต่อกับแอปพลิเคชันแบบเนทีฟในเครื่องโฮสต์ วิธีนี้ต้องใช้สิทธิ์ "nativeMessaging" ดูข้อมูลเพิ่มเติมได้ที่การรับส่งข้อความแบบเนทีฟ
พารามิเตอร์
-
แอปพลิเคชัน
สตริง
ชื่อของแอปพลิเคชันที่ลงทะเบียนไว้เพื่อเชื่อมต่อ
การคืนสินค้า
-
พอร์ตที่สามารถรับส่งข้อความด้วยแอปพลิเคชันได้
getBackgroundPage()
chrome.runtime.getBackgroundPage(
callback?: function,
): Promise<Window | undefined>
หน้าพื้นหลังไม่มีอยู่ในส่วนขยาย MV3
ดึงข้อมูลออบเจ็กต์ JavaScript "window" สำหรับหน้าพื้นหลังที่ทำงานภายในส่วนขยาย/แอปปัจจุบัน หากหน้าพื้นหลังเป็นหน้าเหตุการณ์ ระบบจะตรวจสอบว่ามีการโหลดหน้าดังกล่าวก่อนเรียกใช้ Callback หากไม่มีหน้าเบื้องหลัง ระบบจะตั้งค่าข้อผิดพลาด
พารามิเตอร์
-
callback
function ไม่บังคับ
พารามิเตอร์
callbackจะมีลักษณะดังนี้(backgroundPage?: Window) => void
-
backgroundPage
Window ไม่บังคับ
ออบเจ็กต์ "window" ของ JavaScript สำหรับหน้าเบื้องหลัง
-
การคืนสินค้า
-
Promise<Window | undefined>
Chrome 99 ขึ้นไประบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
getManifest()
chrome.runtime.getManifest(): object
แสดงรายละเอียดเกี่ยวกับแอปหรือส่วนขยายจากไฟล์ Manifest ออบเจ็กต์ที่แสดงผลคือการเรียงอันดับของไฟล์ Manifest แบบสมบูรณ์
การคืนสินค้า
-
ออบเจ็กต์
รายละเอียดไฟล์ Manifest
getPackageDirectoryEntry()
chrome.runtime.getPackageDirectoryEntry(
callback?: function,
): Promise<DirectoryEntry>
แสดงผล DirectoryEntry สำหรับไดเรกทอรีแพ็กเกจ
พารามิเตอร์
-
callback
function ไม่บังคับ
พารามิเตอร์
callbackจะมีลักษณะดังนี้(directoryEntry: DirectoryEntry) => void
-
directoryEntry
DirectoryEntry
-
การคืนสินค้า
-
Promise<DirectoryEntry>
Chrome 122 ขึ้นไประบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
getPlatformInfo()
chrome.runtime.getPlatformInfo(
callback?: function,
): Promise<PlatformInfo>
แสดงข้อมูลเกี่ยวกับแพลตฟอร์มปัจจุบัน
พารามิเตอร์
-
callback
function ไม่บังคับ
พารามิเตอร์
callbackจะมีลักษณะดังนี้(platformInfo: PlatformInfo) => void
-
platformInfo
-
การคืนสินค้า
-
Promise<PlatformInfo>
Chrome 99 ขึ้นไปPromise ที่แสดงผลข้อมูลเกี่ยวกับแพลตฟอร์มปัจจุบัน
ระบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
getURL()
chrome.runtime.getURL(
path: string,
): string
แปลง Relative Path ภายในไดเรกทอรีการติดตั้งแอป/ส่วนขยายเป็น URL แบบเต็มที่ถูกต้อง
พารามิเตอร์
-
เส้นทาง
สตริง
เส้นทางไปยังทรัพยากรภายในแอป/ส่วนขยายที่แสดงโดยสัมพันธ์กับไดเรกทอรีการติดตั้ง
การคืนสินค้า
-
สตริง
URL ที่สมบูรณ์ในตัวเองของแหล่งข้อมูล
getVersion()
chrome.runtime.getVersion(): string
แสดงผลเวอร์ชันของส่วนขยายตามที่ประกาศไว้ในไฟล์ Manifest
การคืนสินค้า
-
สตริง
เวอร์ชันของส่วนขยาย
openOptionsPage()
chrome.runtime.openOptionsPage(
callback?: function,
): Promise<void>
เปิดหน้าตัวเลือกของส่วนขยาย หากเป็นไปได้
ลักษณะการทำงานที่แน่นอนอาจขึ้นอยู่กับคีย์ options_ui หรือ options_page ของไฟล์ Manifest หรือสิ่งที่ Chrome รองรับในขณะนั้น เช่น หน้าเว็บอาจเปิดในแท็บใหม่ ภายใน chrome://extensions ภายในแอป หรืออาจโฟกัสที่หน้าตัวเลือกที่เปิดอยู่ และจะไม่ทำให้หน้าผู้โทรโหลดซ้ำ
หากส่วนขยายของคุณไม่ได้ประกาศหน้าตัวเลือก หรือ Chrome สร้างหน้าตัวเลือกไม่สำเร็จเนื่องจากสาเหตุอื่น Callback จะตั้งค่า lastError
พารามิเตอร์
-
callback
function ไม่บังคับ
พารามิเตอร์
callbackจะมีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 99 ขึ้นไประบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
reload()
chrome.runtime.reload(): void
โหลดแอปหรือส่วนขยายซ้ำ โหมดคีออสก์ไม่รองรับวิธีนี้ สำหรับโหมดคีออสก์ ให้ใช้เมธอด chrome.runtime.restart()
requestUpdateCheck()
chrome.runtime.requestUpdateCheck(
callback?: function,
): Promise<object>
ขอให้ตรวจสอบการอัปเดตทันทีสำหรับแอป/ส่วนขยายนี้
สำคัญ: ส่วนขยาย/แอปส่วนใหญ่ไม่ควรใช้วิธีนี้ เนื่องจาก Chrome จะตรวจสอบโดยอัตโนมัติทุกๆ 2-3 ชั่วโมงอยู่แล้ว และคุณสามารถรอฟังเหตุการณ์ runtime.onUpdateAvailable ได้โดยไม่ต้องเรียกใช้ requestUpdateCheck
วิธีนี้เหมาะที่จะเรียกใช้ในสถานการณ์ที่จำกัดมากเท่านั้น เช่น หากส่วนขยายของคุณสื่อสารกับบริการแบ็กเอนด์ และบริการแบ็กเอนด์ระบุว่าเวอร์ชันส่วนขยายของไคลเอ็นต์ล้าสมัยมาก และคุณต้องการแจ้งให้ผู้ใช้อัปเดต การใช้ requestUpdateCheck อื่นๆ ส่วนใหญ่ เช่น การเรียกใช้โดยไม่มีเงื่อนไขตามตัวจับเวลาที่เกิดซ้ำ อาจทำให้ทรัพยากรของไคลเอ็นต์ เครือข่าย และเซิร์ฟเวอร์สูญเปล่าเท่านั้น
หมายเหตุ: เมื่อเรียกใช้ด้วย Callback ฟังก์ชันนี้จะแสดงผลพร็อพเพอร์ตี้ 2 รายการเป็นอาร์กิวเมนต์แยกต่างหากที่ส่งไปยัง Callback แทนที่จะแสดงผลออบเจ็กต์
พารามิเตอร์
-
callback
function ไม่บังคับ
พารามิเตอร์
callbackจะมีลักษณะดังนี้(result: object) => void
-
ผลลัพธ์
ออบเจ็กต์
Chrome 109 ขึ้นไปออบเจ็กต์ RequestUpdateCheckResult ที่เก็บสถานะของการตรวจสอบการอัปเดตและรายละเอียดของผลลัพธ์หากมีการอัปเดตพร้อมใช้งาน
-
สถานะ
ผลลัพธ์ของการตรวจสอบการอัปเดต
-
เวอร์ชัน
สตริง ไม่บังคับ
หากมีการอัปเดตพร้อมใช้งาน ข้อมูลนี้จะมีเวอร์ชันของการอัปเดตที่พร้อมใช้งาน
-
-
การคืนสินค้า
-
Promise<object>
Chrome 109 ขึ้นไประบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
restart()
chrome.runtime.restart(): void
รีสตาร์ทอุปกรณ์ ChromeOS เมื่อแอปทำงานในโหมดคีออสก์ ไม่เช่นนั้น ระบบจะไม่ดำเนินการใดๆ
restartAfterDelay()
chrome.runtime.restartAfterDelay(
seconds: number,
callback?: function,
): Promise<void>
รีสตาร์ทอุปกรณ์ ChromeOS เมื่อแอปทำงานในโหมดคีออสก์หลังจากผ่านไปตามจำนวนวินาทีที่ระบุ หากมีการเรียกอีกครั้งก่อนที่เวลาจะสิ้นสุดลง การรีบูตจะล่าช้า หากเรียกใช้ด้วยค่า -1 ระบบจะยกเลิกการรีบูต ซึ่งจะไม่มีผลในโหมดที่ไม่ใช่คีออสก์ อนุญาตให้เรียกใช้ซ้ำได้โดยส่วนขยายแรกที่เรียกใช้ API นี้เท่านั้น
พารามิเตอร์
-
วินาที
ตัวเลข
เวลาที่ต้องรอก่อนรีบูตอุปกรณ์ (หน่วยเป็นวินาที) หรือ -1 เพื่อยกเลิกการรีบูตที่กำหนดเวลาไว้
-
callback
function ไม่บังคับ
พารามิเตอร์
callbackจะมีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 99 ขึ้นไปPromise ที่จะได้รับการแก้ไขเมื่อกำหนดเวลาคำขอรีสตาร์ทใหม่เรียบร้อยแล้ว
ระบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
sendMessage()
chrome.runtime.sendMessage(
extensionId?: string,
message: any,
options?: object,
callback?: function,
): Promise<any>
ส่งข้อความเดียวไปยัง Listener เหตุการณ์ ภายในส่วนขยายของคุณหรือส่วนขยาย/แอปอื่น คล้ายกับ runtime.connect แต่จะส่งข้อความเดียวเท่านั้น โดยมีการตอบกลับที่ไม่บังคับ หากส่งไปยังส่วนขยายของคุณ ระบบจะเริ่มเหตุการณ์ runtime.onMessage ในทุกเฟรมของส่วนขยาย (ยกเว้นเฟรมของผู้ส่ง) หรือ runtime.onMessageExternal หากเป็นส่วนขยายอื่น โปรดทราบว่าส่วนขยายจะส่งข้อความไปยังสคริปต์เนื้อหาโดยใช้วิธีนี้ไม่ได้ หากต้องการส่งข้อความไปยังสคริปต์เนื้อหา ให้ใช้ tabs.sendMessage
พารามิเตอร์
-
extensionId
สตริง ไม่บังคับ
รหัสของส่วนขยายที่จะส่งข้อความถึง หากละเว้น ระบบจะส่งข้อความไปยังส่วนขยาย/แอปของคุณเอง ต้องระบุหากส่งข้อความจากหน้าเว็บสำหรับการรับส่งข้อความบนเว็บ
-
ข้อความ
ใดๆ
ข้อความที่จะส่ง ข้อความนี้ควรเป็นออบเจ็กต์ที่แปลงเป็น JSON ได้
-
ตัวเลือก
object ไม่บังคับ
-
includeTlsChannelId
บูลีน ไม่บังคับ
ระบุว่าจะส่งรหัสช่อง TLS ไปยัง onMessageExternal สำหรับกระบวนการที่รอฟังเหตุการณ์การเชื่อมต่อหรือไม่
-
-
callback
function ไม่บังคับ
Chrome 99 ขึ้นไปพารามิเตอร์
callbackจะมีลักษณะดังนี้(response: any) => void
-
การตอบกลับ
ใดๆ
ออบเจ็กต์การตอบกลับ JSON ที่ส่งโดยเครื่องมือจัดการข้อความ หากเกิดข้อผิดพลาดขณะเชื่อมต่อกับส่วนขยาย ระบบจะเรียกใช้ Callback โดยไม่มีอาร์กิวเมนต์ และจะตั้งค่า
runtime.lastErrorเป็นข้อความแสดงข้อผิดพลาด
-
การคืนสินค้า
-
Promise<any>
Chrome 99 ขึ้นไปเพิ่มการรองรับ Promise สำหรับบริบทส่วนขยายใน Chrome 99 เมื่อสื่อสารจากหน้าเว็บไปยังส่วนขยาย คุณจะใช้ Promise ได้ตั้งแต่ Chrome 118 เป็นต้นไป
ระบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
sendNativeMessage()
chrome.runtime.sendNativeMessage(
application: string,
message: object,
callback?: function,
): Promise<any>
ส่งข้อความเดียวไปยังแอปพลิเคชันแบบเนทีฟ วิธีนี้ต้องใช้สิทธิ์ "nativeMessaging"
พารามิเตอร์
-
แอปพลิเคชัน
สตริง
ชื่อของโฮสต์การรับส่งข้อความในเครื่องหรือรายละเอียดเป้าหมาย
-
ข้อความ
ออบเจ็กต์
ข้อความที่จะส่งไปยังโฮสต์การรับส่งข้อความในเครื่อง
-
callback
function ไม่บังคับ
Chrome 99 ขึ้นไปพารามิเตอร์
callbackจะมีลักษณะดังนี้(response: any) => void
-
การตอบกลับ
ใดๆ
ข้อความตอบกลับที่ส่งโดยโฮสต์การรับส่งข้อความในเครื่อง หากเกิดข้อผิดพลาดขณะเชื่อมต่อกับโฮสต์การรับส่งข้อความในเครื่อง ระบบจะเรียกใช้ Callback โดยไม่มีอาร์กิวเมนต์ และจะตั้งค่า
runtime.lastErrorเป็นข้อความแสดงข้อผิดพลาด
-
การคืนสินค้า
-
Promise<any>
Chrome 99 ขึ้นไประบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
setUninstallURL()
chrome.runtime.setUninstallURL(
url: string,
callback?: function,
): Promise<void>
ตั้งค่า URL ที่จะเข้าชมเมื่อถอนการติดตั้ง ซึ่งอาจใช้เพื่อล้างข้อมูลฝั่งเซิร์ฟเวอร์ ทำการวิเคราะห์ และใช้แบบสำรวจ สูงสุด 1,023 อักขระ
พารามิเตอร์
-
URL
สตริง
URL ที่จะเปิดหลังจากถอนการติดตั้งส่วนขยาย URL นี้ต้องมีรูปแบบ http: หรือ https: ตั้งค่าสตริงว่างเพื่อไม่ให้เปิดแท็บใหม่เมื่อถอนการติดตั้ง
-
callback
function ไม่บังคับ
Chrome 45 ขึ้นไปพารามิเตอร์
callbackจะมีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 99 ขึ้นไปPromise ที่จะได้รับการแก้ไขเมื่อตั้งค่า URL การถอนการติดตั้งแล้ว หาก URL ที่ระบุไม่ถูกต้อง ระบบจะปฏิเสธ Promise
ระบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
กิจกรรม
onBrowserUpdateAvailable
chrome.runtime.onBrowserUpdateAvailable.addListener(
callback: function,
)
โปรดใช้ runtime.onRestartRequired
เริ่มทำงานเมื่อมีการอัปเดต Chrome แต่ไม่ได้ติดตั้งทันทีเนื่องจากต้องรีสตาร์ทเบราว์เซอร์
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้() => void
onConnect
chrome.runtime.onConnect.addListener(
callback: function,
)
เริ่มทำงานเมื่อมีการเชื่อมต่อจากกระบวนการของส่วนขยายหรือสคริปต์เนื้อหา (โดย runtime.connect)
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้(port: Port) => void
-
พอร์ต
-
onConnectExternal
chrome.runtime.onConnectExternal.addListener(
callback: function,
)
เริ่มทำงานเมื่อมีการเชื่อมต่อจากส่วนขยายอื่น (โดย runtime.connect) หรือจากเว็บไซต์ที่เชื่อมต่อภายนอกได้
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้(port: Port) => void
-
พอร์ต
-
onConnectNative
chrome.runtime.onConnectNative.addListener(
callback: function,
)
เริ่มทำงานเมื่อมีการเชื่อมต่อจากแอปพลิเคชันแบบเนทีฟ เหตุการณ์นี้ต้องใช้สิทธิ์ "nativeMessaging" โดยจะรองรับเฉพาะใน ChromeOS เท่านั้น
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้(port: Port) => void
-
พอร์ต
-
onEnabled
chrome.runtime.onEnabled.addListener(
callback: function,
)
เริ่มทำงานเมื่อส่วนขยายเปลี่ยนจากสถานะปิดใช้เป็นสถานะเปิดใช้
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้() => void
onExtensionLoaded
chrome.runtime.onExtensionLoaded.addListener(
callback: function,
)
เริ่มทำงานเมื่อมีการเพิ่มส่วนขยายลงในชุดส่วนขยายที่ใช้งานอยู่ ซึ่งอาจเกิดขึ้นได้ในหลายสถานการณ์ เช่น เมื่อติดตั้งส่วนขยายเป็นครั้งแรก อัปเดตเป็นเวอร์ชันใหม่ เปิดใช้อีกครั้งหลังจากปิดใช้ โหลดซ้ำ โหลดระหว่างการเริ่มต้นเบราว์เซอร์ หรือโหลดเมื่ออัปเดตเบราว์เซอร์เป็นเวอร์ชันใหม่
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้(details: ExtensionLoadDetails) => void
-
รายละเอียด
-
onInstalled
chrome.runtime.onInstalled.addListener(
callback: function,
)
เริ่มทำงานเมื่อติดตั้งส่วนขยายเป็นครั้งแรก เมื่ออัปเดตส่วนขยายเป็นเวอร์ชันใหม่ และเมื่ออัปเดต Chrome เป็นเวอร์ชันใหม่
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้(details: object) => void
-
รายละเอียด
ออบเจ็กต์
-
id
สตริง ไม่บังคับ
ระบุรหัสของส่วนขยายโมดูลที่แชร์ที่นำเข้าซึ่งได้รับการอัปเดต ข้อมูลนี้จะแสดงต่อเมื่อ "reason" เป็น "shared_module_update" เท่านั้น
-
previousVersion
สตริง ไม่บังคับ
ระบุเวอร์ชันก่อนหน้าของส่วนขยายที่เพิ่งอัปเดต ซึ่งจะปรากฏเฉพาะในกรณีที่ "reason" เป็น "update"
-
เหตุผล
เหตุผลที่ส่งเหตุการณ์นี้
-
-
onMessage
chrome.runtime.onMessage.addListener(
callback: function,
)
เริ่มทำงานเมื่อมีการส่งข้อความจาก runtime.sendMessage หรือ tabs.sendMessage
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้(message: any, sender: MessageSender, sendResponse: function) => boolean | Promise<any> | undefined
-
ข้อความ
ใดๆ
-
ผู้ส่ง
-
sendResponse
ฟังก์ชัน
พารามิเตอร์
sendResponseจะมีลักษณะดังนี้(response?: any) => void
-
การตอบกลับ
ไม่บังคับ
การตอบกลับเพื่อส่งคืนไปยังผู้ส่งข้อความ
-
-
returns
boolean | Promise<any> | undefined
-
onMessageExternal
chrome.runtime.onMessageExternal.addListener(
callback: function,
)
เริ่มทำงานเมื่อมีการส่งข้อความจากส่วนขยายอื่น (โดย runtime.sendMessage) ใช้ในสคริปต์เนื้อหาไม่ได้
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้(message: any, sender: MessageSender, sendResponse: function) => boolean | Promise<any> | undefined
-
ข้อความ
ใดๆ
-
ผู้ส่ง
-
sendResponse
ฟังก์ชัน
พารามิเตอร์
sendResponseจะมีลักษณะดังนี้(response?: any) => void
-
การตอบกลับ
ไม่บังคับ
การตอบกลับเพื่อส่งคืนไปยังผู้ส่งข้อความ
-
-
returns
boolean | Promise<any> | undefined
-
onRestartRequired
chrome.runtime.onRestartRequired.addListener(
callback: function,
)
เริ่มทำงานเมื่อต้องรีสตาร์ทแอปหรืออุปกรณ์ที่แอปทำงานอยู่ แอปควรปิดหน้าต่างทั้งหมดโดยเร็วที่สุดเพื่อให้รีสตาร์ทได้ หากแอปไม่ดำเนินการใดๆ ระบบจะบังคับให้รีสตาร์ทหลังจากระยะเวลาผ่อนผัน 24 ชั่วโมงผ่านไป ปัจจุบันเหตุการณ์นี้จะเริ่มทำงานสำหรับแอปคีออสก์ของ ChromeOS เท่านั้น
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้(reason: OnRestartRequiredReason) => void
-
เหตุผล
-
onStartup
chrome.runtime.onStartup.addListener(
callback: function,
)
เริ่มทำงานเมื่อโปรไฟล์ที่ติดตั้งส่วนขยายนี้เริ่มทำงานเป็นครั้งแรก เหตุการณ์นี้จะไม่เริ่มทำงานเมื่อโปรไฟล์ไม่ระบุตัวตนเริ่มต้นขึ้น แม้ว่าส่วนขยายนี้จะทำงานในโหมดไม่ระบุตัวตนแบบ "แยก" ก็ตาม
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้() => void
onSuspend
chrome.runtime.onSuspend.addListener(
callback: function,
)
ส่งไปยังหน้าเหตุการณ์ก่อนที่จะยกเลิกการโหลด ซึ่งจะช่วยให้ส่วนขยายมีโอกาสล้างข้อมูลบางอย่าง โปรดทราบว่าเนื่องจากหน้าเว็บกำลังยกเลิกการโหลด จึงไม่รับประกันว่าการดำเนินการแบบอะซิงโครนัสที่เริ่มขึ้นขณะจัดการเหตุการณ์นี้จะเสร็จสมบูรณ์ หากมีกิจกรรมเพิ่มเติมสำหรับหน้ากิจกรรมเกิดขึ้นก่อนที่จะยกเลิกการโหลด ระบบจะส่งเหตุการณ์ onSuspendCanceled และหน้าเว็บจะไม่ถูกยกเลิกการโหลด
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้() => void
onSuspendCanceled
chrome.runtime.onSuspendCanceled.addListener(
callback: function,
)
ส่งหลังจาก onSuspend เพื่อระบุว่าแอปจะไม่ถูกยกเลิกการโหลด
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้() => void
onUpdateAvailable
chrome.runtime.onUpdateAvailable.addListener(
callback: function,
)
เริ่มทำงานเมื่อมีการอัปเดต แต่ไม่ได้ติดตั้งทันทีเนื่องจากแอปกำลังทำงานอยู่ หากคุณไม่ดำเนินการใดๆ ระบบจะติดตั้งการอัปเดตในครั้งถัดไปที่หน้าเบื้องหลังถูกยกเลิกการโหลด หากต้องการให้ติดตั้งเร็วขึ้น คุณสามารถเรียกใช้ chrome.runtime.reload() อย่างชัดแจ้ง หากส่วนขยายของคุณใช้หน้าเบื้องหลังแบบถาวร แน่นอนว่าหน้าเบื้องหลังจะไม่ถูกยกเลิกการโหลด ดังนั้นหากคุณไม่เรียกใช้ chrome.runtime.reload() ด้วยตนเองเพื่อตอบสนองต่อเหตุการณ์นี้ ระบบจะไม่ติดตั้งการอัปเดตจนกว่า Chrome จะรีสตาร์ทในครั้งถัดไป หากไม่มีเครื่องจัดการที่คอยฟังเหตุการณ์นี้ และส่วนขยายของคุณมีหน้าเบื้องหลังแบบถาวร ส่วนขยายจะทำงานเหมือนกับว่ามีการเรียกใช้ chrome.runtime.reload() เพื่อตอบสนองต่อเหตุการณ์นี้
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้(details: object) => void
-
รายละเอียด
ออบเจ็กต์
-
เวอร์ชัน
สตริง
หมายเลขเวอร์ชันของการอัปเดตที่พร้อมใช้งาน
-
-