externally_connectable

พร็อพเพอร์ตี้ไฟล์ Manifest "externally_connectable" จะประกาศว่าส่วนขยายและหน้าเว็บใดบ้างที่ทำได้ เชื่อมต่อกับส่วนขยายโดยใช้ runtime.connect() และ runtime.sendMessage()

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

เชื่อมต่อโดยไม่มีการเชื่อมต่อภายนอก

หากไม่ได้ประกาศคีย์ externally_connectable ในไฟล์ Manifest ของส่วนขยาย ส่วนขยายทั้งหมดจะเชื่อมต่อได้ แต่ไม่มีหน้าเว็บเชื่อมต่อได้ ดังนั้น เมื่ออัปเดตไฟล์ Manifest externally_connectable หากไม่ได้ระบุ "ids": ["*"] ส่วนขยายอื่นๆ จะ จะเชื่อมต่อกับส่วนขยายไม่ได้ กรณีนี้อาจเกิดขึ้นโดยไม่เจตนา ดังนั้นโปรดรอ ในใจ

ไฟล์ Manifest

{
  "name": "My externally connectable extension",
  "externally_connectable": {
    "ids": [
      "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
      "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
      ...
    ],
    // If this field is not specified, no web pages can connect.
    "matches": [
      "https://*.google.com/*",
      "*://*.chromium.org/*",
      ...
    ],
    "accepts_tls_channel_id": false
  },
  ...
}

ข้อมูลอ้างอิง

คีย์ไฟล์ Manifest "externally_connectable" มีพร็อพเพอร์ตี้ที่ไม่บังคับต่อไปนี้

"ids"
รหัสของส่วนขยายที่ได้รับอนุญาตให้เชื่อมต่อ หากเว้นว่างไว้หรือไม่ได้ระบุ ส่วนขยายหรือแอปจะไม่สามารถเชื่อมต่อได้ ไวลด์การ์ด "*" จะอนุญาตให้ส่วนขยายและแอปทั้งหมดเชื่อมต่อได้
"matches"
รูปแบบ URL สำหรับหน้าเว็บที่อนุญาตให้เชื่อมต่อ หากเว้นว่างไว้หรือไม่ได้ระบุ หน้าเว็บจะเชื่อมต่อไม่ได้ รูปแบบจะรวมโดเมนไวลด์การ์ดหรือโดเมนย่อยของโดเมนระดับบนสุด(มีประสิทธิภาพ) ไม่ได้ เช่น
✅ URL ที่ถูกต้อง ❌ URL ไม่ถูกต้อง
*://example.com/ *://example.com/one/
http://*.example.org/* <all_urls>
https://example.com/* http://*/*
"accepts_tls_channel_id"
อนุญาตให้ส่วนขยายใช้รหัสช่อง TLS ของหน้าเว็บที่เชื่อมต่อกับส่วนขยาย หน้าเว็บนี้ต้องเลือกส่งรหัสช่อง TLS ไปยังส่วนขยายด้วยการตั้งค่า includeTlsChannelId ไปยัง true ใน connectInfo หรือ DBM.sendMessage ของ ตัวเลือก ของรันไทม์.connect หากตั้งค่าเป็น false หากไม่มีการตั้งค่า runtime.MessageSender.tlsChannelId ไม่ว่าในกรณีใดก็ตาม

การดำเนินการนี้ไม่มีผลต่อสคริปต์เนื้อหา