คำอธิบาย
ใช้ chrome.tabs API เพื่อโต้ตอบกับระบบแท็บของเบราว์เซอร์ คุณสามารถใช้ API นี้เพื่อสร้าง แก้ไข และจัดเรียงแท็บในเบราว์เซอร์ได้
Tabs API ไม่เพียงมีฟีเจอร์สำหรับการจัดการแท็บ แต่ยังตรวจหาภาษาของแท็บ ถ่ายภาพหน้าจอ และสื่อสารกับ Content Script ของแท็บได้ด้วย
สิทธิ์
ฟีเจอร์ส่วนใหญ่ไม่ต้องใช้สิทธิ์ใดๆ เช่น สร้างแท็บใหม่ โหลดแท็บซ้ำ ไปยัง URL อื่นๆ เป็นต้น
นักพัฒนาซอฟต์แวร์ควรทราบสิทธิ์ 3 อย่างเมื่อทำงานกับ Tabs API
- สิทธิ์ "แท็บ"
- สิทธิ์นี้ไม่ได้ให้สิทธิ์เข้าถึงเนมสเปซ - chrome.tabsแต่จะ ให้สิทธิ์ส่วนขยายในการเรียกใช้- tabs.query()กับพร็อพเพอร์ตี้ที่มีความละเอียดอ่อน 4 รายการในอินสแตนซ์- tabs.Tabได้แก่- url,- pendingUrl,- titleและ- favIconUrl- { "name": "My extension", ... "permissions": [ "tabs" ], ... }
- สิทธิ์ของโฮสต์
- สิทธิ์ของโฮสต์ช่วยให้ส่วนขยายอ่านและค้นหาพร็อพเพอร์ตี้ที่มีความละเอียดอ่อน 4 รายการของแท็บที่ตรงกันได้ - tabs.Tabนอกจากนี้ยังโต้ตอบกับแท็บที่ตรงกันได้โดยตรงโดยใช้วิธีการต่างๆ เช่น- tabs.captureVisibleTab()- scripting.executeScript(),- scripting.insertCSS()และ- scripting.removeCSS()- { "name": "My extension", ... "host_permissions": [ "http://*/*", "https://*/*" ], ... }
- สิทธิ์ "activeTab"
- activeTabให้สิทธิ์โฮสต์ชั่วคราวแก่ส่วนขยายสำหรับแท็บปัจจุบันเพื่อตอบสนองต่อการเรียกใช้ของผู้ใช้- activeTabจะไม่ทริกเกอร์คำเตือนใดๆ ซึ่งต่างจากสิทธิ์ของโฮสต์- { "name": "My extension", ... "permissions": [ "activeTab" ], ... }
กรณีการใช้งาน
ส่วนต่อไปนี้แสดงกรณีการใช้งานที่พบบ่อยบางส่วน
เปิดหน้าส่วนขยายในแท็บใหม่
รูปแบบทั่วไปของส่วนขยายคือการเปิดหน้าเริ่มต้นใช้งานในแท็บใหม่เมื่อติดตั้งส่วนขยาย ตัวอย่างต่อไปนี้แสดงวิธีดำเนินการ
background.js:
chrome.runtime.onInstalled.addListener(({reason}) => {
  if (reason === 'install') {
    chrome.tabs.create({
      url: "onboarding.html"
    });
  }
});
รับแท็บปัจจุบัน
ตัวอย่างนี้แสดงให้เห็นว่า Service Worker ของส่วนขยายจะดึงแท็บที่ใช้งานอยู่จากหน้าต่างที่โฟกัสในปัจจุบัน (หรือหน้าต่างที่โฟกัสล่าสุด หากไม่มีหน้าต่าง Chrome ที่โฟกัส) ได้อย่างไร โดยปกติแล้ว คุณสามารถคิดว่านี่คือแท็บปัจจุบันของผู้ใช้
  async function getCurrentTab() {
    let queryOptions = { active: true, lastFocusedWindow: true };
    // `tab` will either be a `tabs.Tab` instance or `undefined`.
    let [tab] = await chrome.tabs.query(queryOptions);
    return tab;
  }
  
  function getCurrentTab(callback) {
    let queryOptions = { active: true, lastFocusedWindow: true };
    chrome.tabs.query(queryOptions, ([tab]) => {
      if (chrome.runtime.lastError)
      console.error(chrome.runtime.lastError);
      // `tab` will either be a `tabs.Tab` instance or `undefined`.
      callback(tab);
    });
  }
ปิดเสียงแท็บที่ระบุ
ตัวอย่างนี้แสดงวิธีที่ส่วนขยายสามารถสลับสถานะปิดเสียงสำหรับแท็บที่ระบุ
  async function toggleMuteState(tabId) {
    const tab = await chrome.tabs.get(tabId);
    const muted = !tab.mutedInfo.muted;
    await chrome.tabs.update(tabId, {muted});
    console.log(`Tab ${tab.id} is ${muted ? "muted" : "unmuted"}`);
  }
  
  function toggleMuteState(tabId) {
    chrome.tabs.get(tabId, async (tab) => {
      let muted = !tab.mutedInfo.muted;
      await chrome.tabs.update(tabId, { muted });
      console.log(`Tab ${tab.id} is ${ muted ? "muted" : "unmuted" }`);
    });
  }
ย้ายแท็บปัจจุบันไปที่ตำแหน่งแรกเมื่อคลิก
ตัวอย่างนี้แสดงวิธีเลื่อนแท็บขณะที่การลากอาจกำลังดำเนินการอยู่หรือไม่ก็ได้ แม้ว่าตัวอย่างนี้จะใช้ chrome.tabs.move แต่คุณก็สามารถใช้รูปแบบการรอเดียวกันนี้สำหรับการเรียกอื่นๆ ที่แก้ไขแท็บในขณะที่
กำลังลากได้
  chrome.tabs.onActivated.addListener(moveToFirstPosition);
  async function moveToFirstPosition(activeInfo) {
    try {
      await chrome.tabs.move(activeInfo.tabId, {index: 0});
      console.log("Success.");
    } catch (error) {
      if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {
        setTimeout(() => moveToFirstPosition(activeInfo), 50);
      } else {
        console.error(error);
      }
    }
  }
  
  chrome.tabs.onActivated.addListener(moveToFirstPositionMV2);
  function moveToFirstPositionMV2(activeInfo) {
    chrome.tabs.move(activeInfo.tabId, { index: 0 }, () => {
      if (chrome.runtime.lastError) {
        const error = chrome.runtime.lastError;
        if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {
          setTimeout(() => moveToFirstPositionMV2(activeInfo), 50);
        } else {
          console.error(error);
        }
      } else {
        console.log("Success.");
      }
    });
  }
ส่งข้อความไปยัง Content Script ของแท็บที่เลือก
ตัวอย่างนี้แสดงให้เห็นว่า Service Worker ของส่วนขยายจะสื่อสารกับ Content Script ในแท็บเบราว์เซอร์ที่เฉพาะเจาะจงได้อย่างไรโดยใช้ tabs.sendMessage()
function sendMessageToActiveTab(message) {
  const [tab] = await chrome.tabs.query({ active: true, lastFocusedWindow: true });
  const response = await chrome.tabs.sendMessage(tab.id, message);
  // TODO: Do something with the response.
}
ตัวอย่างส่วนขยาย
หากต้องการดูการสาธิตส่วนขยาย Tabs API เพิ่มเติม ให้สำรวจรายการต่อไปนี้
ประเภท
MutedInfo
สถานะปิดเสียงของแท็บและเหตุผลของการเปลี่ยนแปลงสถานะครั้งล่าสุด
พร็อพเพอร์ตี้
- 
    extensionIdสตริง ไม่บังคับ รหัสของส่วนขยายที่เปลี่ยนสถานะปิดเสียง ไม่ได้ตั้งค่าหากส่วนขยายไม่ใช่สาเหตุที่สถานะปิดเสียงมีการเปลี่ยนแปลงครั้งล่าสุด 
- 
    ปิดเสียงอยู่บูลีน แท็บปิดเสียงอยู่หรือไม่ (ป้องกันไม่ให้เล่นเสียง) แท็บอาจปิดเสียงอยู่แม้ว่าจะไม่ได้เล่นหรือไม่ได้เล่นเสียงในขณะนั้น เทียบเท่ากับการแสดงตัวบ่งชี้เสียง "ปิดเสียง" 
- 
    เหตุผลMutedInfoReason ไม่บังคับ เหตุผลที่แท็บถูกปิดหรือเปิดเสียง ไม่ได้ตั้งค่าหากไม่เคยมีการเปลี่ยนแปลงสถานะการปิดเสียงของแท็บ 
MutedInfoReason
เหตุการณ์ที่ทำให้เกิดการเปลี่ยนแปลงสถานะเป็นปิดเสียง
ค่าแจกแจง
"user" 
 การดำเนินการป้อนข้อมูลของผู้ใช้ตั้งค่าสถานะปิดเสียง
"จับภาพ" 
 เริ่มการจับภาพแท็บแล้ว ซึ่งบังคับให้เปลี่ยนสถานะเป็นปิดเสียง
"ส่วนขยาย" 
 ส่วนขยายที่ระบุโดยฟิลด์ extensionId จะตั้งค่าสถานะปิดเสียง
Tab
พร็อพเพอร์ตี้
- 
    ใช้งานบูลีน แท็บใช้งานอยู่ในหน้าต่างหรือไม่ ไม่ได้หมายความว่าหน้าต่างจะโฟกัส 
- 
    audibleบูลีน ไม่บังคับ Chrome 45 ขึ้นไปแท็บสร้างเสียงในช่วง 2-3 วินาทีที่ผ่านมาหรือไม่ (แต่คุณอาจไม่ได้ยินหากปิดเสียงไว้ด้วย) เทียบเท่ากับการแสดงตัวบ่งชี้ "เสียงของลำโพง" 
- 
    autoDiscardableบูลีน Chrome 54 ขึ้นไปกำหนดว่าเบราว์เซอร์จะทิ้งแท็บโดยอัตโนมัติเมื่อทรัพยากรเหลือน้อยได้หรือไม่ 
- 
    ทิ้งแล้วบูลีน Chrome 54 ขึ้นไปแท็บถูกทิ้งไหม แท็บที่ทิ้งคือแท็บที่ระบบนำเนื้อหาออกจากหน่วยความจำแล้ว แต่ยังคงแสดงอยู่ในแถบแท็บ ระบบจะโหลดเนื้อหาของวิดเจ็ตอีกครั้งเมื่อมีการเปิดใช้งานในครั้งถัดไป 
- 
    favIconUrlสตริง ไม่บังคับ URL ของไอคอน Fav ของแท็บ พร็อพเพอร์ตี้นี้จะแสดงก็ต่อเมื่อส่วนขยายมีสิทธิ์ "tabs"หรือมีสิทธิ์ของโฮสต์สำหรับหน้าเว็บ นอกจากนี้ยังอาจเป็นสตริงว่างหากแท็บกำลังโหลด
- 
    ถูกระงับบูลีน Chrome 132 ขึ้นไปแท็บค้างหรือไม่ แท็บที่ตรึงจะเรียกใช้งานไม่ได้ รวมถึงตัวแฮนเดิลเหตุการณ์หรือตัวจับเวลา โดยจะปรากฏในแถบแท็บและเนื้อหาจะโหลดในหน่วยความจำ ระบบจะยกเลิกการระงับเมื่อเปิดใช้งาน 
- 
    groupIdตัวเลข Chrome 88 ขึ้นไปรหัสของกลุ่มที่แท็บเป็นของ 
- 
    ส่วนสูงหมายเลข ไม่บังคับ ความสูงของแท็บในหน่วยพิกเซล 
- 
    ไฮไลต์ไว้บูลีน มีการไฮไลต์แท็บหรือไม่ 
- 
    idหมายเลข ไม่บังคับ รหัสของแท็บ รหัสแท็บจะไม่ซ้ำกันภายในเซสชันของเบราว์เซอร์ ในบางกรณี ระบบอาจไม่กำหนดรหัสให้กับแท็บ เช่น เมื่อค้นหาแท็บภายนอกโดยใช้ API sessionsในกรณีนี้อาจมีรหัสเซสชัน นอกจากนี้ยังตั้งค่ารหัสแท็บเป็นchrome.tabs.TAB_ID_NONEสำหรับแอปและหน้าต่างเครื่องมือสำหรับนักพัฒนาเว็บได้ด้วย
- 
    ไม่ระบุตัวตนบูลีน แท็บอยู่ในหน้าต่างที่ไม่ระบุตัวตนหรือไม่ 
- 
    ดัชนีตัวเลข ดัชนีฐาน 0 ของแท็บภายในหน้าต่าง 
- 
    lastAccessedตัวเลข Chrome 121 ขึ้นไปเวลาล่าสุดที่แท็บทำงานในหน้าต่างเป็นจำนวนมิลลิวินาทีนับตั้งแต่ Epoch 
- 
    mutedInfoMutedInfo ไม่บังคับ Chrome 46 ขึ้นไปสถานะปิดเสียงของแท็บและเหตุผลของการเปลี่ยนแปลงสถานะครั้งล่าสุด 
- 
    openerTabIdหมายเลข ไม่บังคับ รหัสของแท็บที่เปิดแท็บนี้ (หากมี) พร็อพเพอร์ตี้นี้จะแสดงก็ต่อเมื่อแท็บที่เปิดยังคงอยู่ 
- 
    pendingUrlสตริง ไม่บังคับ Chrome 79 ขึ้นไปURL ที่แท็บกำลังไปยังก่อนที่จะคอมมิต พร็อพเพอร์ตี้นี้จะแสดงก็ต่อเมื่อส่วนขยายมีสิทธิ์ "tabs"หรือมีสิทธิ์ของโฮสต์สำหรับหน้าเว็บและมีการนำทางที่รอดำเนินการ
- 
    ตรึงอยู่บูลีน แท็บถูกปักหมุดหรือไม่ 
- 
    เลือกแล้วบูลีน เลิกใช้งานแล้วโปรดใช้ tabs.Tab.highlightedเลือกว่าจะเลือกแท็บหรือไม่ 
- 
    sessionIdสตริง ไม่บังคับ รหัสเซสชันที่ใช้ในการระบุแท็บที่ได้รับจาก API sessionsโดยไม่ซ้ำกัน
- 
    สถานะTabStatus ไม่บังคับ สถานะการโหลดของแท็บ 
- 
    titleสตริง ไม่บังคับ ชื่อแท็บ พร็อพเพอร์ตี้นี้จะแสดงก็ต่อเมื่อส่วนขยายมีสิทธิ์ "tabs"หรือมีสิทธิ์ของโฮสต์สำหรับหน้าเว็บ
- 
    URLสตริง ไม่บังคับ URL สุดท้ายที่คอมมิตของเฟรมหลักของแท็บ พร็อพเพอร์ตี้นี้จะแสดงก็ต่อเมื่อส่วนขยายมีสิทธิ์ "tabs"หรือมีสิทธิ์ของโฮสต์สำหรับหน้าเว็บ อาจเป็นสตริงว่างหากแท็บยังไม่ได้คอมมิต ดูTab.pendingUrlเพิ่มเติม
- 
    ความกว้างหมายเลข ไม่บังคับ ความกว้างของแท็บในหน่วยพิกเซล 
- 
    windowIdตัวเลข รหัสของหน้าต่างที่มีแท็บ 
TabStatus
สถานะการโหลดของแท็บ
ค่าแจกแจง
"เลิกโหลด" 
 
"กำลังโหลด" 
 
"เสร็จสมบูรณ์" 
 
WindowType
ประเภทของหน้าต่าง
ค่าแจกแจง
"ปกติ" 
 
"ป๊อปอัป" 
 
"panel" 
 
"app" 
 
"devtools" 
 
ZoomSettings
กำหนดวิธีจัดการการเปลี่ยนแปลงการซูมในแท็บและขอบเขต
พร็อพเพอร์ตี้
- 
    defaultZoomFactorหมายเลข ไม่บังคับ Chrome 43 ขึ้นไปใช้เพื่อส่งคืนระดับการซูมเริ่มต้นสำหรับแท็บปัจจุบันในการเรียกใช้ tabs.getZoomSettings 
- 
    โหมดZoomSettingsMode ไม่บังคับ กำหนดวิธีจัดการการเปลี่ยนแปลงการซูม เช่น หน่วยงานใดมีหน้าที่รับผิดชอบในการปรับขนาดหน้าเว็บจริง ค่าเริ่มต้นคือ automatic
- 
    ขอบเขตZoomSettingsScope ไม่บังคับ กำหนดว่าการเปลี่ยนแปลงการซูมจะยังคงอยู่สำหรับต้นทางของหน้าเว็บ หรือจะมีผลในแท็บนี้เท่านั้น โดยค่าเริ่มต้นจะเป็น per-originเมื่ออยู่ในโหมดautomaticและเป็นper-tabในกรณีอื่นๆ
ZoomSettingsMode
กำหนดวิธีจัดการการเปลี่ยนแปลงการซูม เช่น หน่วยงานใดมีหน้าที่รับผิดชอบในการปรับขนาดหน้าเว็บจริง ค่าเริ่มต้นคือ automatic
ค่าแจกแจง
"อัตโนมัติ" 
 เบราว์เซอร์จะจัดการการเปลี่ยนแปลงการซูมโดยอัตโนมัติ
"manual" 
 ลบล้างการจัดการการเปลี่ยนแปลงการซูมโดยอัตโนมัติ ระบบจะยังคงส่งเหตุการณ์ onZoomChange และส่วนขยายมีหน้าที่รับฟังเหตุการณ์นี้และปรับขนาดหน้าเว็บด้วยตนเอง โหมดนี้ไม่รองรับการซูม per-origin จึงไม่สนใจการตั้งค่าการซูม scope และถือว่าเป็นการซูม per-tab
"ปิดใช้" 
 ปิดใช้การซูมทั้งหมดในแท็บ แท็บจะกลับไปที่ระดับการซูมเริ่มต้น และระบบจะไม่สนใจการเปลี่ยนแปลงการซูมทั้งหมดที่พยายามทำ
ZoomSettingsScope
กำหนดว่าการเปลี่ยนแปลงการซูมจะยังคงอยู่สำหรับต้นทางของหน้าเว็บ หรือจะมีผลในแท็บนี้เท่านั้น โดยค่าเริ่มต้นจะเป็น per-origin เมื่ออยู่ในโหมด automatic และเป็น per-tab ในกรณีอื่นๆ
ค่าแจกแจง
"ต่อต้นทาง" 
 การเปลี่ยนแปลงการซูมจะยังคงอยู่ในต้นทางของหน้าที่ซูม นั่นคือแท็บอื่นๆ ทั้งหมดที่ไปยังต้นทางเดียวกันจะซูมด้วย นอกจากนี้ per-origin การเปลี่ยนแปลงการซูมจะบันทึกไว้กับต้นทาง ซึ่งหมายความว่าเมื่อไปยังหน้าอื่นๆ ในต้นทางเดียวกัน ระบบจะซูมทุกหน้าด้วยปัจจัยการซูมเดียวกัน per-origin ขอบเขตจะใช้ได้เฉพาะในโหมด automatic เท่านั้น
"ต่อแท็บ" 
 การเปลี่ยนแปลงการซูมจะมีผลในแท็บนี้เท่านั้น และการเปลี่ยนแปลงการซูมในแท็บอื่นๆ จะไม่มีผลต่อการซูมของแท็บนี้ นอกจากนี้ per-tabการเปลี่ยนแปลงการซูมจะรีเซ็ตเมื่อมีการไปยังส่วนต่างๆ และการไปยังแท็บจะโหลดหน้าเว็บที่มีper-originปัจจัยการซูมเสมอ
พร็อพเพอร์ตี้
MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND
จำนวนครั้งสูงสุดที่เรียกใช้ captureVisibleTab ได้ต่อวินาที captureVisibleTab มีค่าใช้จ่ายสูงและไม่ควรเรียกใช้บ่อยเกินไป
ค่า
2 
 
TAB_ID_NONE
รหัสที่แสดงถึงการไม่มีแท็บเบราว์เซอร์
ค่า
-1 
 
TAB_INDEX_NONE
ดัชนีที่แสดงถึงการไม่มีดัชนีแท็บในแถบแท็บ
ค่า
-1 
 
เมธอด
captureVisibleTab()
chrome.tabs.captureVisibleTab(
windowId?: number,
options?: ImageDetails,
): Promise<string>
จับภาพพื้นที่ที่มองเห็นได้ของแท็บที่ใช้งานอยู่ในปัจจุบันในหน้าต่างที่ระบุ หากต้องการเรียกใช้เมธอดนี้ ส่วนขยายต้องมีสิทธิ์ <all_urls> หรือสิทธิ์ activeTab นอกเหนือจากเว็บไซต์ที่ส่วนขยายเข้าถึงได้ตามปกติแล้ว เมธอดนี้ยังช่วยให้ส่วนขยายสามารถจับภาพเว็บไซต์ที่มีความละเอียดอ่อนซึ่งถูกจำกัดไว้ รวมถึงหน้า chrome:-scheme, หน้าของส่วนขยายอื่นๆ และ URL ของ data: โดยจะจับภาพเว็บไซต์ที่มีความละเอียดอ่อนเหล่านี้ได้ก็ต่อเมื่อมีสิทธิ์ activeTab เท่านั้น ระบบจะบันทึก URL ของไฟล์ได้ก็ต่อเมื่อส่วนขยายได้รับสิทธิ์เข้าถึงไฟล์
พารามิเตอร์
- 
    windowIdหมายเลข ไม่บังคับ หน้าต่างเป้าหมาย ค่าเริ่มต้นคือหน้าต่างปัจจุบัน 
- 
    ตัวเลือกImageDetails ไม่บังคับ 
การคืนสินค้า
- 
            Promise<string> Chrome 88 ขึ้นไป
connect()
chrome.tabs.connect(
tabId: number,
connectInfo?: object,
): runtime.Port
เชื่อมต่อกับ Content Script ในแท็บที่ระบุ ระบบจะทริกเกอร์เหตุการณ์ runtime.onConnect ใน Content Script แต่ละรายการที่ทำงานในแท็บที่ระบุสำหรับส่วนขยายปัจจุบัน ดูรายละเอียดเพิ่มเติมได้ที่การรับส่งข้อความของ Content Script
พารามิเตอร์
- 
    tabIdตัวเลข 
- 
    connectInfoobject ไม่บังคับ - 
    documentIdสตริง ไม่บังคับ Chrome 106 ขึ้นไปเปิดพอร์ตไปยังเอกสารที่เฉพาะเจาะจงซึ่งระบุโดย documentIdแทนที่จะเป็นเฟรมทั้งหมดในแท็บ
- 
    frameIdหมายเลข ไม่บังคับ เปิดพอร์ตไปยังเฟรมที่เฉพาะเจาะจงซึ่งระบุโดย frameIdแทนที่จะเป็นเฟรมทั้งหมดในแท็บ
- 
    ชื่อสตริง ไม่บังคับ ส่งไปยัง onConnect สำหรับ Content Script ที่รอให้เหตุการณ์การเชื่อมต่อเกิดขึ้น 
 
- 
    
การคืนสินค้า
- 
            พอร์ตที่ใช้สื่อสารกับ Content Script ที่ทำงานในแท็บที่ระบุได้ ระบบจะทริกเกอร์เหตุการณ์ runtime.Portของพอร์ตหากแท็บปิดหรือไม่มีอยู่
พารามิเตอร์
- 
    createPropertiesออบเจ็กต์ - 
    ใช้งานบูลีน ไม่บังคับ แท็บควรกลายเป็นแท็บที่ใช้งานอยู่ในหน้าต่างหรือไม่ ไม่มีผลต่อการโฟกัสหน้าต่าง (ดู windows.update) ค่าเริ่มต้นคือtrue
- 
    ดัชนีหมายเลข ไม่บังคับ ตำแหน่งที่แท็บควรอยู่ในหน้าต่าง ค่าที่ระบุจะถูกจำกัดให้อยู่ระหว่าง 0 ถึงจำนวนแท็บในหน้าต่าง 
- 
    openerTabIdหมายเลข ไม่บังคับ รหัสของแท็บที่เปิดแท็บนี้ หากระบุไว้ แท็บที่เปิดต้องอยู่ในหน้าต่างเดียวกันกับแท็บที่สร้างขึ้นใหม่ 
- 
    ตรึงอยู่บูลีน ไม่บังคับ ควรปักหมุดแท็บไหม ค่าเริ่มต้นคือ false
- 
    เลือกแล้วบูลีน ไม่บังคับ เลิกใช้งานแล้วโปรดใช้ active แท็บควรกลายเป็นแท็บที่เลือกในหน้าต่างหรือไม่ ค่าเริ่มต้นคือ true
- 
    URLสตริง ไม่บังคับ URL ที่จะใช้ไปยังแท็บในตอนแรก URL แบบเต็มต้องมี Scheme (เช่น 'http://www.google.com' ไม่ใช่ 'www.google.com') URL สัมพัทธ์จะสัมพันธ์กับหน้าปัจจุบันภายในส่วนขยาย ค่าเริ่มต้นคือหน้าแท็บใหม่ 
- 
    windowIdหมายเลข ไม่บังคับ หน้าต่างที่จะใช้สร้างแท็บใหม่ ค่าเริ่มต้นคือหน้าต่างปัจจุบัน 
 
- 
    
การคืนสินค้า
- 
            Promise<Tab> Chrome 88 ขึ้นไป
detectLanguage()
chrome.tabs.detectLanguage(
tabId?: number,
): Promise<string>
ตรวจหาภาษาหลักของเนื้อหาในแท็บ
พารามิเตอร์
- 
    tabIdหมายเลข ไม่บังคับ ค่าเริ่มต้นคือแท็บที่ใช้งานอยู่ของหน้าต่างปัจจุบัน 
การคืนสินค้า
- 
            Promise<string> Chrome 88 ขึ้นไป
discard()
chrome.tabs.discard(
tabId?: number,
): Promise<Tab | undefined>
ทิ้งแท็บจากหน่วยความจำ แท็บที่ทิ้งจะยังคงปรากฏในแถบแท็บและจะโหลดซ้ำเมื่อเปิดใช้งาน
พารามิเตอร์
- 
    tabIdหมายเลข ไม่บังคับ รหัสของแท็บที่จะทิ้ง หากระบุไว้ ระบบจะทิ้งแท็บดังกล่าว เว้นแต่แท็บจะใช้งานอยู่หรือถูกทิ้งไปแล้ว หากไม่ระบุ เบราว์เซอร์จะทิ้งแท็บที่มีความสำคัญน้อยที่สุด การดำเนินการนี้อาจไม่สำเร็จหากไม่มีแท็บที่ทิ้งได้ 
การคืนสินค้า
- 
            Promise<Tab | undefined> Chrome 88 ขึ้นไป
พารามิเตอร์
- 
    tabIdตัวเลข รหัสของแท็บที่จะทำซ้ำ 
การคืนสินค้า
- 
            Promise<Tab | undefined> Chrome 88 ขึ้นไป
พารามิเตอร์
- 
    tabIdตัวเลข 
การคืนสินค้า
- 
            Promise<Tab> Chrome 88 ขึ้นไป
getCurrent()
chrome.tabs.getCurrent(): Promise<Tab | undefined>
รับแท็บที่เรียกใช้สคริปต์นี้ แสดง undefined หากเรียกจากบริบทที่ไม่ใช่แท็บ (เช่น หน้าพื้นหลังหรือมุมมองป๊อปอัป)
การคืนสินค้า
- 
            Promise<Tab | undefined> Chrome 88 ขึ้นไป
getZoom()
chrome.tabs.getZoom(
tabId?: number,
): Promise<number>
รับปัจจัยการซูมปัจจุบันของแท็บที่ระบุ
พารามิเตอร์
- 
    tabIdหมายเลข ไม่บังคับ รหัสของแท็บที่จะรับปัจจัยการซูมปัจจุบันจากแท็บนั้น โดยค่าเริ่มต้นจะเป็นแท็บที่ใช้งานอยู่ของหน้าต่างปัจจุบัน 
การคืนสินค้า
- 
            Promise<number> Chrome 88 ขึ้นไป
getZoomSettings()
chrome.tabs.getZoomSettings(
tabId?: number,
): Promise<ZoomSettings>
รับการตั้งค่าการซูมปัจจุบันของแท็บที่ระบุ
พารามิเตอร์
- 
    tabIdหมายเลข ไม่บังคับ รหัสของแท็บที่จะรับการตั้งค่าการซูมปัจจุบัน ค่าเริ่มต้นคือแท็บที่ใช้งานอยู่ของหน้าต่างปัจจุบัน 
การคืนสินค้า
- 
            Promise<ZoomSettings> Chrome 88 ขึ้นไป
goBack()
chrome.tabs.goBack(
tabId?: number,
): Promise<void>
กลับไปที่หน้าก่อนหน้า (หากมี)
พารามิเตอร์
- 
    tabIdหมายเลข ไม่บังคับ รหัสของแท็บที่จะกลับไป ค่าเริ่มต้นคือแท็บที่เลือกของหน้าต่างปัจจุบัน 
การคืนสินค้า
- 
            Promise<void> Chrome 88 ขึ้นไป
goForward()
chrome.tabs.goForward(
tabId?: number,
): Promise<void>
ไปข้างหน้าไปยังหน้าถัดไป (หากมี)
พารามิเตอร์
- 
    tabIdหมายเลข ไม่บังคับ รหัสของแท็บที่จะไปยังแท็บถัดไป โดยค่าเริ่มต้นจะเป็นแท็บที่เลือกของหน้าต่างปัจจุบัน 
การคืนสินค้า
- 
            Promise<void> Chrome 88 ขึ้นไป
group()
chrome.tabs.group(
options: object,
): Promise<number>
เพิ่มแท็บอย่างน้อย 1 แท็บไปยังกลุ่มที่ระบุ หรือหากไม่ได้ระบุกลุ่ม ระบบจะเพิ่มแท็บที่ระบุไปยังกลุ่มที่สร้างขึ้นใหม่
พารามิเตอร์
- 
    ตัวเลือกออบเจ็กต์ - 
    createPropertiesobject ไม่บังคับ การกำหนดค่าสำหรับการสร้างกลุ่ม ใช้ไม่ได้หากระบุ groupId ไว้แล้ว - 
    windowIdหมายเลข ไม่บังคับ หน้าต่างของกลุ่มใหม่ ค่าเริ่มต้นคือหน้าต่างปัจจุบัน 
 
- 
    
- 
    groupIdหมายเลข ไม่บังคับ รหัสของกลุ่มที่จะเพิ่มแท็บ หากไม่ได้ระบุ ระบบจะสร้างกลุ่มใหม่ 
- 
    tabIdsnumber | [number, ...number[]] รหัสแท็บหรือรายการรหัสแท็บที่จะเพิ่มลงในกลุ่มที่ระบุ 
 
- 
    
การคืนสินค้า
- 
            Promise<number> 
highlight()
chrome.tabs.highlight(
highlightInfo: object,
): Promise<windows.Window>
ไฮไลต์แท็บที่ระบุและโฟกัสที่แท็บแรกของกลุ่ม จะดูเหมือนไม่มีอะไรเกิดขึ้นหากแท็บที่ระบุเปิดใช้งานอยู่
พารามิเตอร์
- 
    highlightInfoออบเจ็กต์ - 
    แท็บnumber | number[] ดัชนีแท็บอย่างน้อย 1 รายการที่จะไฮไลต์ 
- 
    windowIdหมายเลข ไม่บังคับ หน้าต่างที่มีแท็บ 
 
- 
    
การคืนสินค้า
- 
            Promise<windows.Window> Chrome 88 ขึ้นไป
move()
chrome.tabs.move(
tabIds: number | number[],
moveProperties: object,
): Promise<Tab | Tab[]>
ย้ายแท็บอย่างน้อย 1 แท็บไปยังตำแหน่งใหม่ภายในหน้าต่าง หรือไปยังหน้าต่างใหม่ โปรดทราบว่าคุณจะย้ายแท็บได้เฉพาะในหน้าต่างปกติ (window.type === "normal") เท่านั้น
พารามิเตอร์
- 
    tabIdsnumber | number[] รหัสแท็บหรือรายการรหัสแท็บที่จะย้าย 
- 
    movePropertiesออบเจ็กต์ - 
    ดัชนีตัวเลข ตำแหน่งที่จะย้ายหน้าต่างไป ใช้ -1เพื่อวางแท็บไว้ที่ท้ายหน้าต่าง
- 
    windowIdหมายเลข ไม่บังคับ ค่าเริ่มต้นคือหน้าต่างที่แท็บอยู่ 
 
- 
    
query()
chrome.tabs.query(
queryInfo: object,
): Promise<Tab[]>
รับแท็บทั้งหมดที่มีพร็อพเพอร์ตี้ที่ระบุ หรือแท็บทั้งหมดหากไม่ได้ระบุพร็อพเพอร์ตี้
พารามิเตอร์
- 
    queryInfoออบเจ็กต์ - 
    ใช้งานบูลีน ไม่บังคับ แท็บใช้งานอยู่ในหน้าต่างหรือไม่ 
- 
    audibleบูลีน ไม่บังคับ Chrome 45 ขึ้นไปแท็บมีเสียงหรือไม่ 
- 
    autoDiscardableบูลีน ไม่บังคับ Chrome 54 ขึ้นไปกำหนดว่าเบราว์เซอร์จะทิ้งแท็บโดยอัตโนมัติได้หรือไม่เมื่อทรัพยากรเหลือน้อย 
- 
    currentWindowบูลีน ไม่บังคับ แท็บอยู่ในหน้าต่างปัจจุบันหรือไม่ 
- 
    ทิ้งแล้วบูลีน ไม่บังคับ Chrome 54 ขึ้นไปเลือกว่าจะทิ้งแท็บไหม แท็บที่ทิ้งคือแท็บที่ระบบนำเนื้อหาออกจากหน่วยความจำแล้ว แต่ยังคงแสดงอยู่ในแถบแท็บ ระบบจะโหลดเนื้อหาของวิดเจ็ตอีกครั้งเมื่อมีการเปิดใช้งานในครั้งถัดไป 
- 
    ถูกระงับบูลีน ไม่บังคับ Chrome 132 ขึ้นไปแท็บถูกตรึงหรือไม่ แท็บที่ตรึงจะเรียกใช้งานไม่ได้ รวมถึงตัวแฮนเดิลเหตุการณ์หรือตัวจับเวลา โดยจะปรากฏในแถบแท็บและเนื้อหาจะโหลดในหน่วยความจำ ระบบจะยกเลิกการระงับเมื่อเปิดใช้งาน 
- 
    groupIdหมายเลข ไม่บังคับ Chrome 88 ขึ้นไปรหัสของกลุ่มที่มีแท็บ หรือ tabGroups.TAB_GROUP_ID_NONEสำหรับแท็บที่ไม่ได้จัดกลุ่ม
- 
    ไฮไลต์ไว้บูลีน ไม่บังคับ ไฮไลต์แท็บหรือไม่ 
- 
    ดัชนีหมายเลข ไม่บังคับ ตำแหน่งของแท็บภายในหน้าต่าง 
- 
    lastFocusedWindowบูลีน ไม่บังคับ แท็บอยู่ในหน้าต่างที่โฟกัสล่าสุดหรือไม่ 
- 
    ปิดเสียงอยู่บูลีน ไม่บังคับ Chrome 45 ขึ้นไปแท็บปิดเสียงอยู่ไหม 
- 
    ตรึงอยู่บูลีน ไม่บังคับ แท็บปักหมุดอยู่หรือไม่ 
- 
    splitViewIdหมายเลข ไม่บังคับ Chrome 140 ขึ้นไปรหัสของมุมมองแบบแยกที่แท็บอยู่ หรือ tabs.SPLIT_VIEW_ID_NONEสำหรับแท็บที่ไม่ได้อยู่ในมุมมองแบบแยก
- 
    สถานะTabStatus ไม่บังคับ สถานะการโหลดแท็บ 
- 
    titleสตริง ไม่บังคับ จับคู่ชื่อหน้าเว็บกับรูปแบบ ระบบจะไม่สนใจพร็อพเพอร์ตี้นี้หากส่วนขยายไม่มีสิทธิ์ "tabs"หรือสิทธิ์ของโฮสต์สำหรับหน้าเว็บ
- 
    URLstring | string[] ไม่บังคับ จับคู่แท็บกับรูปแบบ URL อย่างน้อย 1 รายการ ระบบจะไม่จับคู่ตัวระบุส่วนย่อย ระบบจะไม่สนใจพร็อพเพอร์ตี้นี้หากส่วนขยายไม่มีสิทธิ์ "tabs"หรือสิทธิ์ของโฮสต์สำหรับหน้าเว็บ
- 
    windowIdหมายเลข ไม่บังคับ รหัสของหน้าต่างหลัก หรือ windows.WINDOW_ID_CURRENTสำหรับหน้าต่างปัจจุบัน
- 
    windowTypeWindowType ไม่บังคับ ประเภทหน้าต่างที่แท็บอยู่ 
 
- 
    
การคืนสินค้า
- 
            Promise<Tab[]> Chrome 88 ขึ้นไป
reload()
chrome.tabs.reload(
tabId?: number,
reloadProperties?: object,
): Promise<void>
โหลดแท็บซ้ำ
พารามิเตอร์
- 
    tabIdหมายเลข ไม่บังคับ รหัสของแท็บที่จะโหลดซ้ำ โดยค่าเริ่มต้นจะเป็นแท็บที่เลือกของหน้าต่างปัจจุบัน 
- 
    reloadPropertiesobject ไม่บังคับ - 
    bypassCacheบูลีน ไม่บังคับ เลือกว่าจะข้ามการแคชในเครื่องไหม ค่าเริ่มต้นคือ false
 
- 
    
การคืนสินค้า
- 
            Promise<void> Chrome 88 ขึ้นไป
remove()
chrome.tabs.remove(
tabIds: number | number[],
): Promise<void>
ปิดแท็บอย่างน้อย 1 แท็บ
พารามิเตอร์
- 
    tabIdsnumber | number[] รหัสแท็บหรือรายการรหัสแท็บที่จะปิด 
การคืนสินค้า
- 
            Promise<void> Chrome 88 ขึ้นไป
sendMessage()
chrome.tabs.sendMessage(
tabId: number,
message: any,
options?: object,
): Promise<any>
ส่งข้อความเดียวไปยัง Content Script ในแท็บที่ระบุ โดยมีฟังก์ชันเรียกกลับที่ไม่บังคับให้เรียกใช้เมื่อมีการส่งการตอบกลับกลับมา ระบบจะทริกเกอร์เหตุการณ์ runtime.onMessage ใน Content Script แต่ละรายการที่ทำงานในแท็บที่ระบุสำหรับส่วนขยายปัจจุบัน
พารามิเตอร์
- 
    tabIdตัวเลข 
- 
    ข้อความใดๆ ข้อความที่จะส่ง ข้อความนี้ควรเป็นออบเจ็กต์ที่แปลงเป็น JSON ได้ 
- 
    ตัวเลือกobject ไม่บังคับ 
การคืนสินค้า
- 
            Promise<any> Chrome 99 ขึ้นไป
setZoom()
chrome.tabs.setZoom(
tabId?: number,
zoomFactor: number,
): Promise<void>
ซูมแท็บที่ระบุ
พารามิเตอร์
- 
    tabIdหมายเลข ไม่บังคับ รหัสของแท็บที่จะซูม โดยค่าเริ่มต้นจะเป็นแท็บที่ใช้งานอยู่ในหน้าต่างปัจจุบัน 
- 
    zoomFactorตัวเลข ค่าตัวคูณการซูมใหม่ ค่า 0จะตั้งค่าแท็บเป็นปัจจัยการซูมเริ่มต้นปัจจุบัน ค่าที่มากกว่า0จะระบุปัจจัยการซูม (อาจไม่ใช่ค่าเริ่มต้น) สำหรับแท็บ
การคืนสินค้า
- 
            Promise<void> Chrome 88 ขึ้นไป
setZoomSettings()
chrome.tabs.setZoomSettings(
tabId?: number,
zoomSettings: ZoomSettings,
): Promise<void>
ตั้งค่าการซูมสำหรับแท็บที่ระบุ ซึ่งกำหนดวิธีจัดการการเปลี่ยนแปลงการซูม การตั้งค่าเหล่านี้จะรีเซ็ตเป็นค่าเริ่มต้นเมื่อไปยังส่วนต่างๆ ของแท็บ
พารามิเตอร์
- 
    tabIdหมายเลข ไม่บังคับ รหัสของแท็บที่จะเปลี่ยนการตั้งค่าการซูม โดยค่าเริ่มต้นจะเป็นแท็บที่ใช้งานอยู่ในหน้าต่างปัจจุบัน 
- 
    zoomSettingsกำหนดวิธีจัดการการเปลี่ยนแปลงการซูมและขอบเขต 
การคืนสินค้า
- 
            Promise<void> Chrome 88 ขึ้นไป
ungroup()
chrome.tabs.ungroup(
tabIds: number | [number, ...number[]],
): Promise<void>
นำแท็บอย่างน้อย 1 แท็บออกจากกลุ่มที่เกี่ยวข้อง หากกลุ่มใดว่างเปล่า ระบบจะลบกลุ่มนั้น
พารามิเตอร์
- 
    tabIdsnumber | [number, ...number[]] รหัสแท็บหรือรายการรหัสแท็บที่จะนำออกจากกลุ่มที่เกี่ยวข้อง 
การคืนสินค้า
- 
            Promise<void> 
update()
chrome.tabs.update(
tabId?: number,
updateProperties: object,
): Promise<Tab | undefined>
แก้ไขคุณสมบัติของแท็บ ระบบจะไม่แก้ไขพร็อพเพอร์ตี้ที่ไม่ได้ระบุไว้ใน updateProperties
พารามิเตอร์
- 
    tabIdหมายเลข ไม่บังคับ ค่าเริ่มต้นคือแท็บที่เลือกของหน้าต่างปัจจุบัน 
- 
    updatePropertiesออบเจ็กต์ - 
    ใช้งานบูลีน ไม่บังคับ แท็บควรใช้งานอยู่ไหม ไม่มีผลต่อการโฟกัสหน้าต่าง (ดู windows.update)
- 
    autoDiscardableบูลีน ไม่บังคับ Chrome 54 ขึ้นไปกำหนดว่าเบราว์เซอร์ควรทิ้งแท็บโดยอัตโนมัติเมื่อทรัพยากรเหลือน้อยหรือไม่ 
- 
    ไฮไลต์ไว้บูลีน ไม่บังคับ เพิ่มหรือนำแท็บออกจากรายการที่เลือกในปัจจุบัน 
- 
    ปิดเสียงอยู่บูลีน ไม่บังคับ Chrome 45 ขึ้นไปควรปิดเสียงแท็บไหม 
- 
    openerTabIdหมายเลข ไม่บังคับ รหัสของแท็บที่เปิดแท็บนี้ หากระบุ แท็บที่เปิดต้องอยู่ในหน้าต่างเดียวกันกับแท็บนี้ 
- 
    ตรึงอยู่บูลีน ไม่บังคับ ควรปักหมุดแท็บไหม 
- 
    เลือกแล้วบูลีน ไม่บังคับ เลิกใช้งานแล้วโปรดใช้ไฮไลต์ ควรเลือกแท็บไหม 
- 
    URLสตริง ไม่บังคับ URL ที่จะนำทางแท็บไป ไม่รองรับ URL ของ JavaScript โปรดใช้ scripting.executeScriptแทน
 
- 
    
การคืนสินค้า
- 
            Promise<Tab | undefined> Chrome 88 ขึ้นไป
กิจกรรม
onActivated
chrome.tabs.onActivated.addListener(
callback: function,
)
ทริกเกอร์เมื่อแท็บที่ใช้งานอยู่ในหน้าต่างมีการเปลี่ยนแปลง โปรดทราบว่าอาจไม่ได้ตั้งค่า URL ของแท็บในเวลาที่เหตุการณ์นี้ทริกเกอร์ แต่คุณสามารถฟังเหตุการณ์ onUpdated เพื่อรับการแจ้งเตือนเมื่อมีการตั้งค่า URL
พารามิเตอร์
- 
    callbackฟังก์ชัน พารามิเตอร์ callbackมีลักษณะดังนี้(activeInfo: object) => void - 
    activeInfoออบเจ็กต์ - 
    tabIdตัวเลข รหัสของแท็บที่ใช้งานอยู่ 
- 
    windowIdตัวเลข รหัสของหน้าต่างที่แท็บที่ใช้งานอยู่มีการเปลี่ยนแปลง 
 
- 
    
 
- 
    
onAttached
chrome.tabs.onAttached.addListener(
callback: function,
)
ทริกเกอร์เมื่อมีการแนบแท็บกับหน้าต่าง เช่น เนื่องจากมีการย้ายแท็บระหว่างหน้าต่าง
พารามิเตอร์
- 
    callbackฟังก์ชัน พารามิเตอร์ callbackมีลักษณะดังนี้(tabId: number, attachInfo: object) => void - 
    tabIdตัวเลข 
- 
    attachInfoออบเจ็กต์ - 
    newPositionตัวเลข 
- 
    newWindowIdตัวเลข 
 
- 
    
 
- 
    
onCreated
chrome.tabs.onCreated.addListener(
callback: function,
)
เริ่มทำงานเมื่อมีการสร้างแท็บ โปรดทราบว่าระบบอาจไม่ได้ตั้งค่า URL ของแท็บและการเป็นสมาชิกกลุ่มแท็บในเวลาที่เกิดเหตุการณ์นี้ แต่คุณสามารถฟังเหตุการณ์ onUpdated เพื่อรับการแจ้งเตือนเมื่อมีการตั้งค่า URL หรือเพิ่มแท็บลงในกลุ่มแท็บ
onDetached
chrome.tabs.onDetached.addListener(
callback: function,
)
ทริกเกอร์เมื่อมีการแยกแท็บออกจากหน้าต่าง เช่น เนื่องจากมีการย้ายแท็บระหว่างหน้าต่าง
พารามิเตอร์
- 
    callbackฟังก์ชัน พารามิเตอร์ callbackมีลักษณะดังนี้(tabId: number, detachInfo: object) => void - 
    tabIdตัวเลข 
- 
    detachInfoออบเจ็กต์ - 
    oldPositionตัวเลข 
- 
    oldWindowIdตัวเลข 
 
- 
    
 
- 
    
onHighlighted
chrome.tabs.onHighlighted.addListener(
callback: function,
)
ทริกเกอร์เมื่อแท็บที่ไฮไลต์หรือเลือกในหน้าต่างมีการเปลี่ยนแปลง
พารามิเตอร์
- 
    callbackฟังก์ชัน พารามิเตอร์ callbackมีลักษณะดังนี้(highlightInfo: object) => void - 
    highlightInfoออบเจ็กต์ - 
    tabIdsnumber[] แท็บที่ไฮไลต์ทั้งหมดในหน้าต่าง 
- 
    windowIdตัวเลข หน้าต่างที่มีการเปลี่ยนแปลงแท็บ 
 
- 
    
 
- 
    
onMoved
chrome.tabs.onMoved.addListener(
callback: function,
)
ทริกเกอร์เมื่อมีการย้ายแท็บภายในหน้าต่าง ระบบจะทริกเกอร์เหตุการณ์ย้ายเพียง 1 รายการ ซึ่งแสดงถึงแท็บที่ผู้ใช้ย้ายโดยตรง ระบบจะไม่ทริกเกอร์เหตุการณ์ย้ายสำหรับแท็บอื่นๆ ที่ต้องย้ายเพื่อตอบสนองต่อแท็บที่ย้ายด้วยตนเอง เหตุการณ์นี้จะไม่เริ่มทำงานเมื่อมีการย้ายแท็บระหว่างหน้าต่าง ดูรายละเอียดได้ที่ tabs.onDetached
พารามิเตอร์
- 
    callbackฟังก์ชัน พารามิเตอร์ callbackมีลักษณะดังนี้(tabId: number, moveInfo: object) => void - 
    tabIdตัวเลข 
- 
    moveInfoออบเจ็กต์ - 
    fromIndexตัวเลข 
- 
    toIndexตัวเลข 
- 
    windowIdตัวเลข 
 
- 
    
 
- 
    
onRemoved
chrome.tabs.onRemoved.addListener(
callback: function,
)
เริ่มทำงานเมื่อปิดแท็บ
พารามิเตอร์
- 
    callbackฟังก์ชัน พารามิเตอร์ callbackมีลักษณะดังนี้(tabId: number, removeInfo: object) => void - 
    tabIdตัวเลข 
- 
    removeInfoออบเจ็กต์ - 
    isWindowClosingบูลีน เป็นจริงเมื่อปิดแท็บเนื่องจากปิดหน้าต่างหลัก 
- 
    windowIdตัวเลข หน้าต่างที่มีแท็บปิดอยู่ 
 
- 
    
 
- 
    
onReplaced
chrome.tabs.onReplaced.addListener(
callback: function,
)
ทริกเกอร์เมื่อมีการแทนที่แท็บด้วยแท็บอื่นเนื่องจากการแสดงผลล่วงหน้าหรือการแสดงผลทันที
พารามิเตอร์
- 
    callbackฟังก์ชัน พารามิเตอร์ callbackมีลักษณะดังนี้(addedTabId: number, removedTabId: number) => void - 
    addedTabIdตัวเลข 
- 
    removedTabIdตัวเลข 
 
- 
    
onUpdated
chrome.tabs.onUpdated.addListener(
callback: function,
)
เริ่มทำงานเมื่อมีการอัปเดตแท็บ
พารามิเตอร์
- 
    callbackฟังก์ชัน พารามิเตอร์ callbackมีลักษณะดังนี้(tabId: number, changeInfo: object, tab: Tab) => void - 
    tabIdตัวเลข 
- 
    changeInfoออบเจ็กต์ - 
    audibleบูลีน ไม่บังคับ Chrome 45 ขึ้นไปสถานะเสียงใหม่ของแท็บ 
- 
    autoDiscardableบูลีน ไม่บังคับ Chrome 54 ขึ้นไปสถานะใหม่ของแท็บที่สามารถทิ้งได้โดยอัตโนมัติ 
- 
    ทิ้งแล้วบูลีน ไม่บังคับ Chrome 54 ขึ้นไปสถานะใหม่ของแท็บที่ทิ้ง 
- 
    favIconUrlสตริง ไม่บังคับ URL ของไอคอน Fav ใหม่ของแท็บ 
- 
    ถูกระงับบูลีน ไม่บังคับ Chrome 132 ขึ้นไปสถานะใหม่ที่หยุดทำงานของแท็บ 
- 
    groupIdหมายเลข ไม่บังคับ Chrome 88 ขึ้นไปกลุ่มใหม่ของแท็บ 
- 
    mutedInfoMutedInfo ไม่บังคับ Chrome 46 ขึ้นไปสถานะปิดเสียงใหม่ของแท็บและเหตุผลของการเปลี่ยนแปลง 
- 
    ตรึงอยู่บูลีน ไม่บังคับ สถานะใหม่ของแท็บที่ปักหมุด 
- 
    splitViewIdหมายเลข ไม่บังคับ Chrome 140 ขึ้นไปมุมมองแบบแยกใหม่ของแท็บ 
- 
    สถานะTabStatus ไม่บังคับ สถานะการโหลดของแท็บ 
- 
    titleสตริง ไม่บังคับ Chrome 48 ขึ้นไปชื่อใหม่ของแท็บ 
- 
    URLสตริง ไม่บังคับ URL ของแท็บหากมีการเปลี่ยนแปลง 
 
- 
    
- 
    แท็บ
 
- 
    
onZoomChange
chrome.tabs.onZoomChange.addListener(
callback: function,
)
เริ่มทำงานเมื่อมีการซูมแท็บ
พารามิเตอร์
- 
    callbackฟังก์ชัน พารามิเตอร์ callbackมีลักษณะดังนี้(ZoomChangeInfo: object) => void - 
    ZoomChangeInfoออบเจ็กต์ - 
    newZoomFactorตัวเลข 
- 
    oldZoomFactorตัวเลข 
- 
    tabIdตัวเลข 
- 
    zoomSettings
 
- 
    
 
-