chrome.windows

คำอธิบาย

ใช้ chrome.windows API เพื่อโต้ตอบกับหน้าต่างเบราว์เซอร์ คุณสามารถใช้ API นี้เพื่อสร้าง แก้ไข และจัดเรียงหน้าต่างใหม่ในเบราว์เซอร์ได้

สิทธิ์

เมื่อส่งคำขอ windows.Window จะมีอาร์เรย์ของออบเจ็กต์ tabs.Tab คุณต้องประกาศสิทธิ์ "tabs" ในไฟล์ Manifest หากต้องการเข้าถึงพร็อพเพอร์ตี้ url, pendingUrl, title หรือ favIconUrl ของ tabs.Tab เช่น

{
  "name": "My extension",
  ...
  "permissions": ["tabs"],
  ...
}

แนวคิดและการใช้งาน

หน้าต่างปัจจุบัน

ฟังก์ชันหลายรายการในระบบส่วนขยายจะใช้อาร์กิวเมนต์ windowId ที่ไม่บังคับ ซึ่งมีค่าเริ่มต้นเป็นหน้าต่างปัจจุบัน

หน้าต่างปัจจุบันคือหน้าต่างที่มีโค้ดที่กำลังทำงาน โปรดทราบว่าสิ่งนี้อาจแตกต่างจากหน้าต่างด้านบนสุดหรือหน้าต่างที่มีโฟกัส

ตัวอย่างเช่น สมมติว่าส่วนขยายสร้างแท็บหรือหน้าต่าง 2-3 แท็บจากไฟล์ HTML เดียว และไฟล์ HTML มีการเรียก tabs.query() หน้าต่างปัจจุบันคือหน้าต่างที่มีหน้าเว็บที่เรียกใช้ ไม่ว่าหน้าต่างบนสุดจะเป็นอย่างไรก็ตาม

ในกรณีของโปรแกรมทำงานของบริการ ค่าของหน้าต่างปัจจุบันจะกลับไปที่หน้าต่างที่ใช้งานล่าสุด ในบางกรณี อาจไม่มีหน้าต่างปัจจุบันสำหรับหน้าพื้นหลัง

ตัวอย่าง

หากต้องการลองใช้ API นี้ ให้ติดตั้งตัวอย่าง API ของ Windows จากที่เก็บ chrome-extension-samples

2 หน้าต่าง โดยแต่ละหน้าต่างมี 1 แท็บ
2 หน้าต่าง แต่ละหน้าต่างมี 1 แท็บ

ประเภท

CreateType

Chrome 44 ขึ้นไป

ระบุประเภทหน้าต่างเบราว์เซอร์ที่จะสร้าง เลิกใช้งาน "panel" แล้ว และพร้อมใช้งานสำหรับส่วนขยายที่อยู่ในรายการที่อนุญาตซึ่งมีอยู่ใน Chrome OS เท่านั้น

ค่าแจกแจง

"normal"
ระบุว่าหน้าต่างเป็นหน้าต่างมาตรฐาน

"popup"
ระบุหน้าต่างนั้นเป็นหน้าต่างป๊อปอัป

"panel"
ระบุว่าหน้าต่างเป็นแผง

QueryOptions

Chrome เวอร์ชัน 88 ขึ้นไป

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

  • ป้อนข้อมูล

    บูลีน ไม่บังคับ

    หากเป็น "จริง" ออบเจ็กต์ windows.Window จะมีพร็อพเพอร์ตี้ tabs ที่มีรายการออบเจ็กต์ tabs.Tab ออบเจ็กต์ Tab จะมีพร็อพเพอร์ตี้ url, pendingUrl, title และ favIconUrl เท่านั้น หากไฟล์ Manifest ของส่วนขยายมีสิทธิ์ "tabs"

  • windowTypes

    WindowType[] ไม่บังคับ

    หากตั้งค่าไว้ windows.Window ที่แสดงผลจะกรองตามประเภทของข้อผิดพลาด หากไม่ได้ตั้งค่า ตัวกรองเริ่มต้นจะตั้งค่าเป็น ['normal', 'popup']

Window

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

  • alwaysOnTop

    boolean

    ตั้งค่าหน้าต่างให้อยู่ด้านบนเสมอหรือไม่

  • มีสมาธิ

    boolean

    ระบุว่าหน้าต่างนั้นเป็นหน้าต่างที่โฟกัสอยู่ในปัจจุบันหรือไม่

  • ส่วนสูง

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

    ความสูงของหน้าต่างรวมถึงเฟรมในหน่วยพิกเซล ในบางสถานการณ์ ระบบอาจกำหนดพร็อพเพอร์ตี้ height ให้กับกรอบเวลาไม่ได้ เช่น เมื่อค้นหากรอบเวลาที่ปิดอยู่จาก API ของ sessions

  • id

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

    รหัสของหน้าต่าง รหัสหน้าต่างจะไม่ซ้ำกันภายในเซสชันของเบราว์เซอร์ ในบางสถานการณ์ ระบบอาจกำหนดพร็อพเพอร์ตี้ ID ให้กับกรอบเวลาไม่ได้ เช่น เมื่อค้นหากรอบเวลาโดยใช้ sessions API ซึ่งในกรณีนี้อาจมีรหัสเซสชันอยู่

  • ไม่ระบุตัวตน

    boolean

    ระบุว่าหน้าต่างเป็นโหมดไม่ระบุตัวตนหรือไม่

  • ฝั่งซ้าย

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

    ค่าออฟเซ็ตของหน้าต่างจากขอบด้านซ้ายของหน้าจอในหน่วยพิกเซล ในบางสถานการณ์ ระบบอาจกำหนดพร็อพเพอร์ตี้ left ให้กับกรอบเวลาไม่ได้ เช่น เมื่อค้นหากรอบเวลาที่ปิดอยู่จาก API ของ sessions

  • sessionId

    string ไม่บังคับ

    รหัสเซสชันที่ใช้เพื่อระบุหน้าต่างโดยไม่ซ้ำกัน ซึ่งได้รับจาก sessions API

  • state

    WindowState ไม่บังคับ

    สถานะของหน้าต่างเบราว์เซอร์นี้

  • แท็บ

    Tab[] ไม่บังคับ

    อาร์เรย์ของ tabs.Tab ออบเจ็กต์ที่แทนแท็บปัจจุบันในหน้าต่าง

  • ครึ่งแรกของอินนิ่ง

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

    ค่าออฟเซ็ตของหน้าต่างจากขอบด้านบนของหน้าจอในหน่วยพิกเซล ในบางสถานการณ์ ระบบอาจกำหนดพร็อพเพอร์ตี้ top ให้กับกรอบเวลาไม่ได้ เช่น เมื่อค้นหากรอบเวลาที่ปิดอยู่จาก API ของ sessions

  • ประเภท

    WindowType ไม่บังคับ

    ประเภทของหน้าต่างเบราว์เซอร์นี้คือ

  • ความกว้าง

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

    ความกว้างของหน้าต่างรวมถึงเฟรมในหน่วยพิกเซล ในบางสถานการณ์ ระบบอาจกำหนดพร็อพเพอร์ตี้ width ให้กับกรอบเวลาไม่ได้ เช่น เมื่อค้นหากรอบเวลาที่ปิดอยู่จาก API ของ sessions

WindowState

Chrome 44 ขึ้นไป

สถานะของหน้าต่างเบราว์เซอร์นี้ ในบางสถานการณ์ ระบบอาจกำหนดพร็อพเพอร์ตี้ state ให้กับกรอบเวลาไม่ได้ เช่น เมื่อค้นหากรอบเวลาที่ปิดอยู่จาก API ของ sessions

ค่าแจกแจง

"normal"
สถานะหน้าต่างปกติ (ไม่ย่อเล็กสุด ขยายใหญ่สุด หรือเต็มหน้าจอ)

"minimized"
สถานะหน้าต่างแบบย่อ

"สูงสุด"
สถานะกรอบเวลาสูงสุด

"fullscreen"
สถานะหน้าต่างแบบเต็มหน้าจอ

"locked-fullscreen"
สถานะหน้าต่างแบบเต็มหน้าจอล็อกอยู่ สถานะแบบเต็มหน้าจอนี้จะออกจากการดำเนินการของผู้ใช้ไม่ได้ และจะใช้ได้กับส่วนขยายที่อนุญาตใน Chrome OS เท่านั้น

WindowType

Chrome 44 ขึ้นไป

ประเภทหน้าต่างเบราว์เซอร์คือ ในบางสถานการณ์อาจไม่มีการกำหนดพร็อพเพอร์ตี้ type ให้กับหน้าต่าง เช่น เมื่อทำการค้นหาหน้าต่างที่ปิดอยู่จาก API ของ sessions

ค่าแจกแจง

"normal"
หน้าต่างเบราว์เซอร์ปกติ

"popup"
ป๊อปอัปของเบราว์เซอร์

"panel"
เลิกใช้งานใน API นี้ หน้าต่างแบบแผงของแอป Chrome ส่วนขยายจะเห็นเฉพาะหน้าต่างแผงของตัวเองเท่านั้น

"app"
เลิกใช้งานใน API นี้ หน้าต่างแอป Chrome ส่วนขยายจะเห็นเฉพาะหน้าต่างของแอปเองเท่านั้น

"devtools"
หน้าต่างเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์

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

WINDOW_ID_CURRENT

ค่า windowId ที่แสดงหน้าต่างปัจจุบัน

ค่า

-2

WINDOW_ID_NONE

ค่า windowId ที่แสดงถึงการไม่มีหน้าต่างเบราว์เซอร์ Chrome

ค่า

-1

วิธีการ

create()

สัญญา
chrome.windows.create(
  createData?: object,
  callback?: function,
)

สร้าง (เปิด) หน้าต่างเบราว์เซอร์ใหม่พร้อมการปรับขนาด (ไม่บังคับ) ตำแหน่ง หรือ URL เริ่มต้นที่ระบุ

พารามิเตอร์

  • createData

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

    • มีสมาธิ

      บูลีน ไม่บังคับ

      หากเป็น true ให้เปิดหน้าต่างที่ใช้งานอยู่ หากเป็น false จะเปิดหน้าต่างที่ไม่ได้ใช้งาน

    • ส่วนสูง

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

      ความสูงเป็นพิกเซลของหน้าต่างใหม่รวมถึงเฟรม หากไม่ได้ระบุไว้ ระบบจะใช้ความสูงตามปกติโดยค่าเริ่มต้น

    • ไม่ระบุตัวตน

      บูลีน ไม่บังคับ

      หน้าต่างใหม่ควรเป็นหน้าต่างที่ไม่ระบุตัวตนหรือไม่

    • ฝั่งซ้าย

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

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

    • setSelfAsOpener

      บูลีน ไม่บังคับ

      Chrome 64 ขึ้นไป

      หากเป็น true ระบบจะตั้งค่า "window.opener" ของหน้าต่างที่สร้างใหม่เป็นโปรแกรมเรียกใช้และอยู่ในหน่วยของบริบทการท่องเว็บที่เกี่ยวข้องเดียวกันกับผู้โทร

    • state

      WindowState ไม่บังคับ

      Chrome 44 ขึ้นไป

      สถานะเริ่มต้นของหน้าต่าง สถานะ minimized, maximized และ fullscreen ไม่สามารถรวมกับ left, top, width หรือ height

    • tabId

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

      รหัสของแท็บที่จะเพิ่มในหน้าต่างใหม่

    • ครึ่งแรกของอินนิ่ง

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

      จำนวนพิกเซลที่จะวางตำแหน่งหน้าต่างใหม่จากขอบด้านบนของหน้าจอ หากไม่ได้ระบุไว้ หน้าต่างใหม่จะถูกออฟเซ็ตจากหน้าต่างที่โฟกัสล่าสุดตามปกติ ระบบจะไม่พิจารณาค่านี้สำหรับแผง

    • ประเภท

      CreateType ไม่บังคับ

      ระบุประเภทหน้าต่างเบราว์เซอร์ที่จะสร้าง

    • url

      string|string[] optional

      URL หรืออาร์เรย์ของ URL ที่จะเปิดเป็นแท็บในหน้าต่าง URL ที่มีคุณสมบัติครบถ้วนต้องมีรูปแบบ เช่น "http://www.google.com" ไม่ใช่ "www.google.com" URL ที่ไม่เข้าเกณฑ์จะถือว่ามีความเกี่ยวข้องภายในส่วนขยาย ค่าเริ่มต้นจะเป็นหน้าแท็บใหม่

    • ความกว้าง

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

      ความกว้างเป็นพิกเซลของหน้าต่างใหม่รวมถึงเฟรม หากไม่ได้ระบุ ระบบจะใช้ความกว้างตามปกติโดยค่าเริ่มต้น

  • Callback

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

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

    (window?: Window)=>void

    • หน้าต่าง

      กรอบเวลา ไม่บังคับ

      มีรายละเอียดเกี่ยวกับหน้าต่างที่สร้าง

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

  • สัญญา<Window|undefined>

    Chrome เวอร์ชัน 88 ขึ้นไป

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

get()

สัญญา
chrome.windows.get(
  windowId: number,
  queryOptions?: QueryOptions,
  callback?: function,
)

ดูรายละเอียดเกี่ยวกับหน้าต่าง

พารามิเตอร์

  • windowId

    ตัวเลข

  • queryOptions

    QueryOptions ไม่บังคับ

    Chrome เวอร์ชัน 88 ขึ้นไป
  • Callback

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

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

    (window: Window)=>void

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

  • สัญญา<หน้าต่าง>

    Chrome เวอร์ชัน 88 ขึ้นไป

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

getAll()

สัญญา
chrome.windows.getAll(
  queryOptions?: QueryOptions,
  callback?: function,
)

ดาวน์โหลดหน้าต่างทั้งหมด

พารามิเตอร์

  • queryOptions

    QueryOptions ไม่บังคับ

    Chrome เวอร์ชัน 88 ขึ้นไป
  • Callback

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

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

    (windows: Window[])=>void

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

  • สัญญา<Window[]>

    Chrome เวอร์ชัน 88 ขึ้นไป

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

getCurrent()

สัญญา
chrome.windows.getCurrent(
  queryOptions?: QueryOptions,
  callback?: function,
)

รับหน้าต่างปัจจุบัน

พารามิเตอร์

  • queryOptions

    QueryOptions ไม่บังคับ

    Chrome เวอร์ชัน 88 ขึ้นไป
  • Callback

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

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

    (window: Window)=>void

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

  • สัญญา<หน้าต่าง>

    Chrome เวอร์ชัน 88 ขึ้นไป

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

getLastFocused()

สัญญา
chrome.windows.getLastFocused(
  queryOptions?: QueryOptions,
  callback?: function,
)

รับหน้าต่างที่ถูกโฟกัสล่าสุด ซึ่งโดยปกติคือหน้าต่าง "ด้านบน"

พารามิเตอร์

  • queryOptions

    QueryOptions ไม่บังคับ

    Chrome เวอร์ชัน 88 ขึ้นไป
  • Callback

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

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

    (window: Window)=>void

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

  • สัญญา<หน้าต่าง>

    Chrome เวอร์ชัน 88 ขึ้นไป

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

remove()

สัญญา
chrome.windows.remove(
  windowId: number,
  callback?: function,
)

นำหน้าต่างและแท็บทั้งหมดภายในออก (ปิด)

พารามิเตอร์

  • windowId

    ตัวเลข

  • Callback

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

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

    ()=>void

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

  • Promise<void>

    Chrome เวอร์ชัน 88 ขึ้นไป

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

update()

สัญญา
chrome.windows.update(
  windowId: number,
  updateInfo: object,
  callback?: function,
)

อัปเดตคุณสมบัติของหน้าต่าง ระบุเฉพาะคุณสมบัติที่ต้องการเปลี่ยนแปลง คุณสมบัติที่ไม่ได้ระบุจะไม่มีการเปลี่ยนแปลง

พารามิเตอร์

  • windowId

    ตัวเลข

  • updateInfo

    ออบเจ็กต์

    • drawAttention

      บูลีน ไม่บังคับ

      หากเป็น true จะทำให้หน้าต่างแสดงในลักษณะที่ดึงดูดความสนใจของผู้ใช้ไปยังหน้าต่างนั้น โดยไม่เปลี่ยนหน้าต่างที่โฟกัสอยู่ เอฟเฟกต์จะมีผลจนกว่าผู้ใช้จะเปลี่ยนโฟกัสไปที่หน้าต่าง ตัวเลือกนี้จะไม่มีผลหากหน้าต่างมีโฟกัสอยู่แล้ว ตั้งค่าเป็น false เพื่อยกเลิกคำขอ drawAttention ก่อนหน้า

    • มีสมาธิ

      บูลีน ไม่บังคับ

      หากเป็น true ให้นำหน้าต่างมาไว้ด้านหน้า และไม่สามารถรวมกับสถานะ "ย่อเล็กสุด" ได้ หากเป็น false ให้นำหน้าต่างถัดไปในลำดับ Z มาไว้ด้านหน้า และไม่สามารถรวมกับสถานะ "เต็มหน้าจอ" หรือ "ขยายใหญ่สุด"

    • ส่วนสูง

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

      ความสูงที่จะปรับขนาดหน้าต่างเป็นพิกเซล ระบบจะไม่พิจารณาค่านี้สำหรับแผง

    • ฝั่งซ้าย

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

      ค่าออฟเซ็ตจากขอบด้านซ้ายของหน้าจอที่จะย้ายหน้าต่างไป หน่วยเป็นพิกเซล ระบบจะไม่พิจารณาค่านี้สำหรับแผง

    • state

      WindowState ไม่บังคับ

      สถานะใหม่ของหน้าต่าง ไม่สามารถรวมสถานะ "ย่อเล็กสุด" "สูงสุด" และ "เต็มหน้าจอ" กับ "ซ้าย" "ด้านบน" "ความกว้าง" หรือ "ความสูง"

    • ครึ่งแรกของอินนิ่ง

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

      ค่าออฟเซ็ตจากขอบด้านบนของหน้าจอที่จะย้ายหน้าต่างไป หน่วยเป็นพิกเซล ระบบจะไม่พิจารณาค่านี้สำหรับแผง

    • ความกว้าง

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

      ความกว้างที่จะปรับขนาดหน้าต่างเป็นพิกเซล ระบบจะไม่พิจารณาค่านี้สำหรับแผง

  • Callback

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

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

    (window: Window)=>void

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

  • สัญญา<หน้าต่าง>

    Chrome เวอร์ชัน 88 ขึ้นไป

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

กิจกรรม

onBoundsChanged

Chrome เวอร์ชัน 86 ขึ้นไป
chrome.windows.onBoundsChanged.addListener(
  callback: function,
)

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

พารามิเตอร์

  • Callback

    ฟังก์ชัน

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

    (window: Window)=>void

onCreated

chrome.windows.onCreated.addListener(
  callback: function,
  filters?: object,
)

เริ่มทำงานเมื่อมีการสร้างหน้าต่าง

พารามิเตอร์

  • Callback

    ฟังก์ชัน

    Chrome 46 ขึ้นไป

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

    (window: Window)=>void

    • หน้าต่าง

      รายละเอียดของหน้าต่างที่สร้างขึ้น

  • ตัวกรอง

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

    • windowTypes

      เงื่อนไขที่ประเภทหน้าต่างที่สร้างขึ้นต้องเป็นไปตามเงื่อนไข ซึ่งเป็นไปตาม ['normal', 'popup'] โดยค่าเริ่มต้น

onFocusChanged

chrome.windows.onFocusChanged.addListener(
  callback: function,
  filters?: object,
)

เริ่มทำงานเมื่อหน้าต่างที่โฟกัสอยู่ในปัจจุบันมีการเปลี่ยนแปลง แสดงผล chrome.windows.WINDOW_ID_NONE หากหน้าต่าง Chrome ทั้งหมดไม่มีโฟกัส หมายเหตุ: ในตัวจัดการหน้าต่างของ Linux บางรายการ ระบบจะส่ง WINDOW_ID_NONE ก่อนการเปลี่ยนจากหน้าต่าง Chrome หนึ่งไปยังอีกหน้าต่างหนึ่งเสมอ

พารามิเตอร์

  • Callback

    ฟังก์ชัน

    Chrome 46 ขึ้นไป

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

    (windowId: number)=>void

    • windowId

      ตัวเลข

      รหัสของหน้าต่างที่เพิ่งโฟกัสใหม่

  • ตัวกรอง

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

    • windowTypes

      เงื่อนไขที่ประเภทของหน้าต่างที่จะถูกนำออกจะต้องเป็นไปตามเงื่อนไข ซึ่งเป็นไปตาม ['normal', 'popup'] โดยค่าเริ่มต้น

onRemoved

chrome.windows.onRemoved.addListener(
  callback: function,
  filters?: object,
)

เริ่มทำงานเมื่อนำหน้าต่างออก (ปิด)

พารามิเตอร์

  • Callback

    ฟังก์ชัน

    Chrome 46 ขึ้นไป

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

    (windowId: number)=>void

    • windowId

      ตัวเลข

      รหัสของหน้าต่างที่นำออก

  • ตัวกรอง

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

    • windowTypes

      เงื่อนไขที่ประเภทของหน้าต่างที่จะถูกนำออกจะต้องเป็นไปตามเงื่อนไข ซึ่งเป็นไปตาม ['normal', 'popup'] โดยค่าเริ่มต้น