chrome.extension

refresh date: 2026-09-25 robots: noindex

คำอธิบาย

chrome.extension API มียูทิลิตีที่หน้าส่วนขยายใดๆ ก็ใช้ได้ ซึ่งรวมถึงการรองรับการแลกเปลี่ยนข้อความระหว่างส่วนขยายกับสคริปต์เนื้อหาหรือระหว่างส่วนขยาย ตามที่อธิบายไว้อย่างละเอียดในการส่งข้อความ

ประเภท

ViewType

Chrome 44 ขึ้นไป

ประเภทของมุมมองส่วนขยาย

ค่าแจกแจง

"tab"

"popup"

พร็อพเพอร์ตี้

inIncognitoContext

เป็นจริงสำหรับสคริปต์เนื้อหาที่ทำงานภายในแท็บที่ไม่ระบุตัวตน และสำหรับหน้าส่วนขยายที่ทำงานภายในกระบวนการที่ไม่ระบุตัวตน ส่วนอย่างหลังจะมีผลกับส่วนขยายที่มี incognito_behavior เป็น "split" เท่านั้น

ประเภท

บูลีน

lastError

≤ MV2 เลิกใช้งานตั้งแต่ Chrome 58

โปรดใช้ runtime.lastError

ตั้งค่าอายุการใช้งานของ Callback หาก API ส่วนขยายแบบไม่พร้อมกันส่งผลให้เกิดข้อผิดพลาด หากไม่มีข้อผิดพลาดเกิดขึ้น lastError จะเป็น undefined

ประเภท

ออบเจ็กต์

พร็อพเพอร์ตี้

  • ข้อความ

    สตริง

    คำอธิบายข้อผิดพลาดที่เกิดขึ้น

เมธอด

getBackgroundPage()

เบื้องหน้าเท่านั้น
chrome.extension.getBackgroundPage(): Window | undefined

แสดงผลออบเจ็กต์ "window" ของ JavaScript สำหรับหน้าเบื้องหลังที่ทำงานภายในส่วนขยายปัจจุบัน แสดงผล Null หากส่วนขยายไม่มีหน้าเบื้องหลัง

การคืนสินค้า

  • หน้าต่าง | undefined

getExtensionTabs()

≤ MV2 เบื้องหน้าเท่านั้น เลิกใช้งานแล้ว
chrome.extension.getExtensionTabs(
  windowId?: number,
)
: Window[]

โปรดใช้ extension.getViews {type: "tab"}

แสดงผลอาร์เรย์ของออบเจ็กต์ "window" ของ JavaScript สำหรับแต่ละแท็บที่ทำงานภายในส่วนขยายปัจจุบัน หากระบุ windowId ระบบจะแสดงเฉพาะออบเจ็กต์ "window" ของแท็บที่แนบมากับหน้าต่างที่ระบุ

พารามิเตอร์

  • windowId

    number ไม่บังคับ

การคืนสินค้า

  • Window[]

    อาร์เรย์ของออบเจ็กต์หน้าต่างส่วนกลาง

getURL()

≤ MV2 เลิกใช้งานตั้งแต่ Chrome 58
chrome.extension.getURL(
  path: string,
)
: string

โปรดใช้ runtime.getURL

แปลง Relative Path ภายในไดเรกทอรีการติดตั้งส่วนขยายเป็น URL แบบเต็มที่ถูกต้อง

พารามิเตอร์

  • เส้นทาง

    สตริง

    เส้นทางไปยังทรัพยากรภายในส่วนขยายที่แสดงโดยสัมพันธ์กับไดเรกทอรีการติดตั้ง

การคืนสินค้า

  • สตริง

    URL ที่สมบูรณ์ในตัวเองของแหล่งข้อมูล

getViews()

เบื้องหน้าเท่านั้น
chrome.extension.getViews(
  fetchProperties?: object,
)
: Window[]

แสดงผลอาร์เรย์ของออบเจ็กต์ "window" ของ JavaScript สำหรับแต่ละหน้าเว็บที่ทำงานภายในส่วนขยายปัจจุบัน

พารามิเตอร์

  • fetchProperties

    object ไม่บังคับ

    • tabId

      number ไม่บังคับ

      Chrome 54 ขึ้นไป

      ค้นหามุมมองตามรหัสแท็บ หากละเว้นช่องนี้ ระบบจะแสดงผลมุมมองทั้งหมด

    • ประเภท

      ViewType ไม่บังคับ

      ประเภทของมุมมองที่จะรับ หากละเว้น ระบบจะแสดงผลมุมมองทั้งหมด (รวมถึงหน้าและแท็บพื้นหลัง)

    • windowId

      number ไม่บังคับ

      หน้าต่างที่จะจำกัดการค้นหา หากละเว้น ระบบจะแสดงผลยอดดูทั้งหมด

การคืนสินค้า

  • Window[]

    อาร์เรย์ของออบเจ็กต์ส่วนกลาง

isAllowedFileSchemeAccess()

Promise
chrome.extension.isAllowedFileSchemeAccess(
  callback?: function,
)
: Promise<boolean>

ดึงข้อมูลสถานะการเข้าถึงของส่วนขยายไปยังรูปแบบ "file://" ซึ่งสอดคล้องกับการตั้งค่า "อนุญาตให้เข้าถึง URL ของไฟล์" ต่อส่วนขยายที่ผู้ใช้ควบคุมได้ ซึ่งเข้าถึงได้ผ่านหน้า chrome://extensions

พารามิเตอร์

  • callback

    function ไม่บังคับ

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (isAllowedAccess: boolean) => void

    • isAllowedAccess

      บูลีน

      เป็นจริงหากส่วนขยายเข้าถึงรูปแบบ "file://" ได้ เป็นเท็จหากเข้าถึงไม่ได้

การคืนสินค้า

  • Promise<boolean>

    Chrome 99 ขึ้นไป

    ระบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback

isAllowedIncognitoAccess()

Promise
chrome.extension.isAllowedIncognitoAccess(
  callback?: function,
)
: Promise<boolean>

ดึงข้อมูลสถานะการเข้าถึงโหมดไม่ระบุตัวตนของส่วนขยาย ซึ่งสอดคล้องกับการตั้งค่า "อนุญาตในโหมดไม่ระบุตัวตน" ต่อส่วนขยายที่ผู้ใช้ควบคุมได้ ซึ่งเข้าถึงได้ผ่านหน้า chrome://extensions

พารามิเตอร์

  • callback

    function ไม่บังคับ

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (isAllowedAccess: boolean) => void

    • isAllowedAccess

      บูลีน

      เป็นจริงหากส่วนขยายมีสิทธิ์เข้าถึงโหมดไม่ระบุตัวตน หากไม่ใช่ จะเป็นเท็จ

การคืนสินค้า

  • Promise<boolean>

    Chrome 99 ขึ้นไป

    ระบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback

sendRequest()

Promise &leq; MV2 เลิกใช้งานแล้ว
chrome.extension.sendRequest(
  extensionId?: string,
  request: any,
  callback?: function,
)
: Promise<any>

โปรดใช้ runtime.sendMessage

ส่งคำขอเดียวไปยัง Listener อื่นๆ ภายในส่วนขยาย คล้ายกับ runtime.connect แต่จะส่งคำขอเดียวพร้อมการตอบกลับที่ไม่บังคับเท่านั้น ระบบจะเริ่มเหตุการณ์ extension.onRequest ในแต่ละหน้าของส่วนขยาย

พารามิเตอร์

  • extensionId

    สตริง ไม่บังคับ

    รหัสส่วนขยายของส่วนขยายที่ต้องการเชื่อมต่อ หากไม่ระบุ ค่าเริ่มต้นจะเป็นส่วนขยายของคุณเอง

  • ส่งคำขอ

    ใดๆ

  • callback

    function ไม่บังคับ

    Chrome 99 ขึ้นไป

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (response: any) => void

    • การตอบกลับ

      ใดๆ

      ออบเจ็กต์การตอบกลับ JSON ที่ส่งโดยตัวแฮนเดิลของคำขอ หากเกิดข้อผิดพลาดขณะเชื่อมต่อกับส่วนขยาย ระบบจะปฏิเสธ Promise

การคืนสินค้า

  • Promise<any>

    Chrome 99 ขึ้นไป

    ระบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback

setUpdateUrlData()

chrome.extension.setUpdateUrlData(
  data: string,
)
: void

ตั้งค่าพารามิเตอร์ ap CGI ที่ใช้ใน URL อัปเดตของส่วนขยาย ระบบจะไม่สนใจค่านี้สำหรับส่วนขยายที่โฮสต์ในแกลเลอรีส่วนขยาย Chrome

พารามิเตอร์

  • เพิ่มเติม

    สตริง

กิจกรรม

onRequest

&leq; MV2 เลิกใช้งานแล้ว
chrome.extension.onRequest.addListener(
  callback: function,
)

โปรดใช้ runtime.onMessage

เริ่มทำงานเมื่อมีการส่งคำขอจากกระบวนการของส่วนขยายหรือสคริปต์เนื้อหา

พารามิเตอร์

  • callback

    ฟังก์ชัน

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (request: any, sender: runtime.MessageSender, sendResponse: function) => void

    • ส่งคำขอ

      ใดๆ

    • ผู้ส่ง
    • sendResponse

      ฟังก์ชัน

      พารามิเตอร์ sendResponse จะมีลักษณะดังนี้

      () => void

onRequestExternal

&leq; MV2 เลิกใช้งานแล้ว
chrome.extension.onRequestExternal.addListener(
  callback: function,
)

โปรดใช้ runtime.onMessageExternal

เริ่มทำงานเมื่อมีการส่งคำขอจากส่วนขยายอื่น

พารามิเตอร์

  • callback

    ฟังก์ชัน

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (request: any, sender: runtime.MessageSender, sendResponse: function) => void

    • ส่งคำขอ

      ใดๆ

    • ผู้ส่ง
    • sendResponse

      ฟังก์ชัน

      พารามิเตอร์ sendResponse จะมีลักษณะดังนี้

      () => void