chrome.extension

คำอธิบาย

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

ประเภท

ViewType

Chrome 44 ขึ้นไป

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

ค่าแจกแจง

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

inIncognitoContext

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

ประเภท

boolean

lastError

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

โปรดใช้ runtime.lastError

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

ประเภท

ออบเจ็กต์

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

  • ข้อความ

    string

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

วิธีการ

getBackgroundPage()

ส่วนหน้าเท่านั้น
chrome.extension.getBackgroundPage()

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

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

  • หน้าต่าง|ไม่ระบุ

getExtensionTabs()

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

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

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

พารามิเตอร์

  • windowId

    ตัวเลข ไม่บังคับ

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

  • หน้าต่าง[]

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

getURL()

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

โปรดใช้ runtime.getURL

แปลงเส้นทางแบบสัมพัทธ์ภายในไดเรกทอรีการติดตั้งส่วนขยายเป็น URL ที่มีคุณสมบัติครบถ้วน

พารามิเตอร์

  • เส้นทาง

    string

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

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

  • string

    URL ที่มีคุณสมบัติครบถ้วนของทรัพยากร

getViews()

ส่วนหน้าเท่านั้น
chrome.extension.getViews(
  fetchProperties?: object,
)

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

พารามิเตอร์

  • fetchProperties

    ออบเจ็กต์ ไม่บังคับ

    • tabId

      ตัวเลข ไม่บังคับ

      Chrome 54 ขึ้นไป

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

    • ประเภท

      ViewType ไม่บังคับ

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

    • windowId

      ตัวเลข ไม่บังคับ

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

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

  • หน้าต่าง[]

    อาร์เรย์ของวัตถุส่วนกลาง

isAllowedFileSchemeAccess()

สัญญา
chrome.extension.isAllowedFileSchemeAccess(
  callback?: function,
)

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

พารามิเตอร์

  • Callback

    ฟังก์ชัน ไม่บังคับ

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

    (isAllowedAccess: boolean)=>void

    • isAllowedAccess

      boolean

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

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

  • Promise<boolean>

    Chrome 99 ขึ้นไป

    Manifest V3 ขึ้นไปรองรับคำสัญญา แต่จะใช้โค้ดเรียกกลับเพื่อความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 ฟีเจอร์ในการเรียกใช้ฟังก์ชันเดียวกันได้ คำสัญญาจะยุติด้วยประเภทเดียวกันกับที่ส่งไปยังโค้ดเรียกกลับ

isAllowedIncognitoAccess()

สัญญา
chrome.extension.isAllowedIncognitoAccess(
  callback?: function,
)

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

พารามิเตอร์

  • Callback

    ฟังก์ชัน ไม่บังคับ

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

    (isAllowedAccess: boolean)=>void

    • isAllowedAccess

      boolean

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

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

  • Promise<boolean>

    Chrome 99 ขึ้นไป

    Manifest V3 ขึ้นไปรองรับคำสัญญา แต่จะใช้โค้ดเรียกกลับเพื่อความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 ฟีเจอร์ในการเรียกใช้ฟังก์ชันเดียวกันได้ คำสัญญาจะยุติด้วยประเภทเดียวกันกับที่ส่งไปยังโค้ดเรียกกลับ

sendRequest()

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

โปรดใช้ runtime.sendMessage

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

พารามิเตอร์

  • extensionId

    string ไม่บังคับ

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

  • ส่งคำขอ

    อะไรก็ได้

  • Callback

    ฟังก์ชัน ไม่บังคับ

    Chrome 99 ขึ้นไป

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

    (response: any)=>void

    • การตอบกลับ

      อะไรก็ได้

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

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

  • คำสัญญา<any>

    Chrome 99 ขึ้นไป

    Manifest V3 ขึ้นไปรองรับคำสัญญา แต่จะใช้โค้ดเรียกกลับเพื่อความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 ฟีเจอร์ในการเรียกใช้ฟังก์ชันเดียวกันได้ คำสัญญาจะยุติด้วยประเภทเดียวกันกับที่ส่งไปยังโค้ดเรียกกลับ

setUpdateUrlData()

chrome.extension.setUpdateUrlData(
  data: string,
)

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

พารามิเตอร์

  • ข้อมูล

    string

กิจกรรม

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