chrome.tabs

คำอธิบาย

ใช้ 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

Chrome 46 ขึ้นไป

สถานะปิดเสียงของแท็บและเหตุผลของการเปลี่ยนแปลงสถานะครั้งล่าสุด

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

  • extensionId

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

    รหัสของส่วนขยายที่เปลี่ยนสถานะปิดเสียง ไม่ได้ตั้งค่าหากส่วนขยายไม่ใช่สาเหตุที่สถานะปิดเสียงมีการเปลี่ยนแปลงครั้งล่าสุด

  • ปิดเสียงอยู่

    บูลีน

    แท็บปิดเสียงอยู่หรือไม่ (ป้องกันไม่ให้เล่นเสียง) แท็บอาจปิดเสียงอยู่แม้ว่าจะไม่ได้เล่นหรือไม่ได้เล่นเสียงในขณะนั้น เทียบเท่ากับการแสดงตัวบ่งชี้เสียงที่ "ปิดเสียง"

  • เหตุผล

    MutedInfoReason ไม่บังคับ

    เหตุผลที่แท็บถูกปิดหรือเปิดเสียง ไม่ได้ตั้งค่าหากไม่เคยมีการเปลี่ยนแปลงสถานะการปิดเสียงของแท็บ

MutedInfoReason

Chrome 46 ขึ้นไป

เหตุการณ์ที่ทำให้เกิดการเปลี่ยนแปลงสถานะเป็นปิดเสียง

ค่าแจกแจง

"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

  • mutedInfo

    MutedInfo ไม่บังคับ

    Chrome 46 ขึ้นไป

    สถานะปิดเสียงของแท็บและเหตุผลของการเปลี่ยนแปลงสถานะครั้งล่าสุด

  • openerTabId

    หมายเลข ไม่บังคับ

    รหัสของแท็บที่เปิดแท็บนี้ (หากมี) พร็อพเพอร์ตี้นี้จะแสดงก็ต่อเมื่อแท็บที่เปิดยังคงอยู่

  • pendingUrl

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

    Chrome 79 ขึ้นไป

    URL ที่แท็บกำลังไปยังก่อนที่จะคอมมิต พร็อพเพอร์ตี้นี้จะแสดงก็ต่อเมื่อส่วนขยายมีสิทธิ์ "tabs" หรือมีสิทธิ์ของโฮสต์สำหรับหน้าเว็บและมีการนำทางที่รอดำเนินการ

  • ตรึงอยู่

    บูลีน

    แท็บปักหมุดอยู่หรือไม่

  • เลือกแล้ว

    บูลีน

    เลิกใช้งานแล้ว

    โปรดใช้ tabs.Tab.highlighted

    เลือกว่าจะเลือกแท็บหรือไม่

  • sessionId

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

    รหัสเซสชันที่ใช้ในการระบุแท็บที่ได้รับจาก API sessions โดยไม่ซ้ำกัน

  • สถานะ

    TabStatus ไม่บังคับ

    สถานะการโหลดของแท็บ

  • title

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

    ชื่อแท็บ พร็อพเพอร์ตี้นี้จะแสดงก็ต่อเมื่อส่วนขยายมีสิทธิ์ "tabs" หรือมีสิทธิ์ของโฮสต์สำหรับหน้าเว็บ

  • URL

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

    URL ที่คอมมิตล่าสุดของเฟรมหลักของแท็บ พร็อพเพอร์ตี้นี้จะแสดงก็ต่อเมื่อส่วนขยายมีสิทธิ์ "tabs" หรือมีสิทธิ์ของโฮสต์สำหรับหน้าเว็บ อาจเป็นสตริงว่างหากแท็บยังไม่ได้คอมมิต ดู Tab.pendingUrl เพิ่มเติม

  • ความกว้าง

    หมายเลข ไม่บังคับ

    ความกว้างของแท็บในหน่วยพิกเซล

  • windowId

    ตัวเลข

    รหัสของหน้าต่างที่มีแท็บ

TabStatus

Chrome 44 ขึ้นไป

สถานะการโหลดของแท็บ

ค่าแจกแจง

"เลิกโหลด"

"กำลังโหลด"

"เสร็จสมบูรณ์"

WindowType

Chrome 44 ขึ้นไป

ประเภทของหน้าต่าง

ค่าแจกแจง

"ปกติ"

"ป๊อปอัป"

"panel"

"app"

"devtools"

ZoomSettings

กำหนดวิธีจัดการการเปลี่ยนแปลงการซูมในแท็บและขอบเขต

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

  • defaultZoomFactor

    หมายเลข ไม่บังคับ

    Chrome 43 ขึ้นไป

    ใช้เพื่อส่งคืนระดับการซูมเริ่มต้นสำหรับแท็บปัจจุบันในการเรียกใช้ tabs.getZoomSettings

  • โหมด

    ZoomSettingsMode ไม่บังคับ

    กำหนดวิธีจัดการการเปลี่ยนแปลงการซูม เช่น หน่วยงานใดมีหน้าที่รับผิดชอบในการปรับขนาดหน้าเว็บจริง ค่าเริ่มต้นคือ automatic

  • ขอบเขต

    ZoomSettingsScope ไม่บังคับ

    กำหนดว่าการเปลี่ยนแปลงการซูมจะยังคงอยู่สำหรับต้นทางของหน้าเว็บ หรือจะมีผลในแท็บนี้เท่านั้น โดยค่าเริ่มต้นจะเป็น per-origin เมื่ออยู่ในโหมด automatic และเป็น per-tab ในกรณีอื่นๆ

ZoomSettingsMode

Chrome 44 ขึ้นไป

กำหนดวิธีจัดการการเปลี่ยนแปลงการซูม เช่น หน่วยงานใดมีหน้าที่รับผิดชอบในการปรับขนาดหน้าเว็บจริง ค่าเริ่มต้นคือ automatic

ค่าแจกแจง

"อัตโนมัติ"
เบราว์เซอร์จะจัดการการเปลี่ยนแปลงการซูมโดยอัตโนมัติ

"ด้วยตนเอง"
ลบล้างการจัดการการเปลี่ยนแปลงการซูมอัตโนมัติ ระบบจะยังคงส่งเหตุการณ์ onZoomChange และส่วนขยายมีหน้าที่รับฟังเหตุการณ์นี้และปรับขนาดหน้าเว็บด้วยตนเอง โหมดนี้ไม่รองรับการซูม per-origin จึงไม่สนใจการตั้งค่าการซูม scope และถือว่าเป็นการซูม per-tab

"ปิดใช้"
ปิดใช้การซูมทั้งหมดในแท็บ แท็บจะกลับไปที่ระดับการซูมเริ่มต้น และระบบจะไม่สนใจการเปลี่ยนแปลงการซูมทั้งหมดที่พยายามทำ

ZoomSettingsScope

Chrome 44 ขึ้นไป

กำหนดว่าการเปลี่ยนแปลงการซูมจะยังคงอยู่สำหรับต้นทางของหน้าเว็บ หรือจะมีผลในแท็บนี้เท่านั้น โดยค่าเริ่มต้นจะเป็น per-origin เมื่ออยู่ในโหมด automatic และเป็น per-tab ในกรณีอื่นๆ

ค่าแจกแจง

"ต่อต้นทาง"
การเปลี่ยนแปลงการซูมจะยังคงอยู่ในต้นทางของหน้าที่ซูม นั่นคือแท็บอื่นๆ ทั้งหมดที่ไปยังต้นทางเดียวกันจะซูมด้วย นอกจากนี้ per-origin การเปลี่ยนแปลงการซูมจะบันทึกไว้กับต้นทาง ซึ่งหมายความว่าเมื่อไปยังหน้าอื่นๆ ในต้นทางเดียวกัน ระบบจะซูมทุกหน้าด้วยปัจจัยการซูมเดียวกัน per-origin ขอบเขตจะใช้ได้เฉพาะในautomaticโหมด

"ต่อแท็บ"
การเปลี่ยนแปลงการซูมจะมีผลในแท็บนี้เท่านั้น และการเปลี่ยนแปลงการซูมในแท็บอื่นๆ จะไม่มีผลต่อการซูมของแท็บนี้ นอกจากนี้ per-tabการเปลี่ยนแปลงการซูมจะรีเซ็ตเมื่อมีการไปยังส่วนต่างๆ การไปยังแท็บจะโหลดหน้าเว็บที่มีper-originปัจจัยการซูมเสมอ

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

MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND

Chrome 92 ขึ้นไป

จำนวนครั้งสูงสุดที่เรียกใช้ captureVisibleTab ได้ต่อวินาที captureVisibleTab มีค่าใช้จ่ายสูงและไม่ควรเรียกใช้บ่อยเกินไป

ค่า

2

TAB_ID_NONE

Chrome 46 ขึ้นไป

รหัสที่แสดงถึงการไม่มีแท็บเบราว์เซอร์

ค่า

-1

TAB_INDEX_NONE

Chrome 123 ขึ้นไป

ดัชนีที่แสดงถึงการไม่มีดัชนีแท็บในแถบแท็บ

ค่า

-1

เมธอด

captureVisibleTab()

chrome.tabs.captureVisibleTab(
  windowId?: number,
  options?: ImageDetails,
)
: Promise<string>

จับภาพพื้นที่ที่มองเห็นได้ของแท็บที่ใช้งานอยู่ในปัจจุบันในหน้าต่างที่ระบุ หากต้องการเรียกใช้เมธอดนี้ ส่วนขยายต้องมีสิทธิ์ <all_urls> หรือสิทธิ์ activeTab นอกเหนือจากเว็บไซต์ที่ส่วนขยายเข้าถึงได้ตามปกติแล้ว เมธอดนี้ยังช่วยให้ส่วนขยายสามารถจับภาพเว็บไซต์ที่มีความละเอียดอ่อนซึ่งถูกจำกัดไว้ รวมถึงหน้า chrome:-scheme, หน้าของส่วนขยายอื่นๆ และ URL ของ data: โดยจะจับภาพเว็บไซต์ที่มีความละเอียดอ่อนเหล่านี้ได้ก็ต่อเมื่อมีสิทธิ์ activeTab เท่านั้น ระบบจะบันทึก URL ของไฟล์ได้ก็ต่อเมื่อส่วนขยายได้รับสิทธิ์เข้าถึงไฟล์

พารามิเตอร์

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

  • Promise<string>

    Chrome 88 ขึ้นไป

connect()

chrome.tabs.connect(
  tabId: number,
  connectInfo?: object,
)
: runtime.Port

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

พารามิเตอร์

  • tabId

    ตัวเลข

  • connectInfo

    object ไม่บังคับ

    • documentId

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

      Chrome 106 ขึ้นไป

      เปิดพอร์ตไปยังเอกสารที่เฉพาะเจาะจงซึ่งระบุโดย documentId แทนที่จะเป็นเฟรมทั้งหมดในแท็บ

    • frameId

      หมายเลข ไม่บังคับ

      เปิดพอร์ตไปยังเฟรมที่เฉพาะเจาะจงซึ่งระบุโดย frameId แทนที่จะเป็นเฟรมทั้งหมดในแท็บ

    • ชื่อ

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

      ส่งไปยัง onConnect สำหรับ Content Script ที่รอให้เหตุการณ์การเชื่อมต่อเกิดขึ้น

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

  • พอร์ตที่ใช้สื่อสารกับ Content Script ที่ทำงานในแท็บที่ระบุได้ ระบบจะทริกเกอร์เหตุการณ์ runtime.Port ของพอร์ตหากแท็บปิดหรือไม่มีอยู่

create()

chrome.tabs.create(
  createProperties: object,
)
: Promise<Tab>

สร้างแท็บใหม่

พารามิเตอร์

  • 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>

ตรวจหาภาษาหลักของเนื้อหาในแท็บ

พารามิเตอร์

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

  • Promise<string>

    Chrome 88 ขึ้นไป

discard()

Chrome 54 ขึ้นไป
chrome.tabs.discard(
  tabId?: number,
)
: Promise<Tab | undefined>

ทิ้งแท็บจากหน่วยความจำ แท็บที่ทิ้งจะยังคงปรากฏในแถบแท็บและจะโหลดซ้ำเมื่อเปิดใช้งาน

พารามิเตอร์

  • tabId

    หมายเลข ไม่บังคับ

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

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

  • Promise<Tab | undefined>

    Chrome 88 ขึ้นไป

duplicate()

chrome.tabs.duplicate(
  tabId: number,
)
: Promise<Tab | undefined>

ทำซ้ำแท็บ

พารามิเตอร์

  • tabId

    ตัวเลข

    รหัสของแท็บที่จะทำซ้ำ

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

  • Promise<Tab | undefined>

    Chrome 88 ขึ้นไป

get()

chrome.tabs.get(
  tabId: number,
)
: Promise<Tab>

ดึงรายละเอียดเกี่ยวกับแท็บที่ระบุ

พารามิเตอร์

  • 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

    หมายเลข ไม่บังคับ

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

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

goBack()

Chrome 72 ขึ้นไป
chrome.tabs.goBack(
  tabId?: number,
)
: Promise<void>

กลับไปที่หน้าก่อนหน้า (หากมี)

พารามิเตอร์

  • tabId

    หมายเลข ไม่บังคับ

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

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

  • Promise<void>

    Chrome 88 ขึ้นไป

goForward()

Chrome 72 ขึ้นไป
chrome.tabs.goForward(
  tabId?: number,
)
: Promise<void>

ไปข้างหน้าไปยังหน้าถัดไป (หากมี)

พารามิเตอร์

  • tabId

    หมายเลข ไม่บังคับ

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

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

  • Promise<void>

    Chrome 88 ขึ้นไป

group()

Chrome 88 ขึ้นไป
chrome.tabs.group(
  options: object,
)
: Promise<number>

เพิ่มแท็บอย่างน้อย 1 แท็บไปยังกลุ่มที่ระบุ หรือหากไม่ได้ระบุกลุ่ม ระบบจะเพิ่มแท็บที่ระบุไปยังกลุ่มที่สร้างขึ้นใหม่

พารามิเตอร์

  • ตัวเลือก

    ออบเจ็กต์

    • createProperties

      object ไม่บังคับ

      การกำหนดค่าสำหรับการสร้างกลุ่ม ใช้ไม่ได้หากระบุ groupId ไว้แล้ว

      • windowId

        หมายเลข ไม่บังคับ

        หน้าต่างของกลุ่มใหม่ ค่าเริ่มต้นคือหน้าต่างปัจจุบัน

    • groupId

      หมายเลข ไม่บังคับ

      รหัสของกลุ่มที่จะเพิ่มแท็บ หากไม่ได้ระบุ ระบบจะสร้างกลุ่มใหม่

    • tabIds

      number | [number, ...number[]]

      รหัสแท็บหรือรายการรหัสแท็บที่จะเพิ่มลงในกลุ่มที่ระบุ

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

  • Promise<number>

highlight()

chrome.tabs.highlight(
  highlightInfo: object,
)
: Promise<windows.Window>

ไฮไลต์แท็บที่ระบุและโฟกัสที่แท็บแรกของกลุ่ม จะดูเหมือนไม่มีอะไรเกิดขึ้นหากแท็บที่ระบุเปิดใช้งานอยู่

พารามิเตอร์

  • highlightInfo

    ออบเจ็กต์

    • แท็บ

      number | number[]

      ดัชนีแท็บอย่างน้อย 1 รายการที่จะไฮไลต์

    • windowId

      หมายเลข ไม่บังคับ

      หน้าต่างที่มีแท็บ

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

move()

chrome.tabs.move(
  tabIds: number | number[],
  moveProperties: object,
)
: Promise<Tab | Tab[]>

ย้ายแท็บอย่างน้อย 1 แท็บไปยังตำแหน่งใหม่ภายในหน้าต่าง หรือไปยังหน้าต่างใหม่ โปรดทราบว่าคุณจะย้ายแท็บได้เฉพาะในหน้าต่างปกติ (window.type === "normal") เท่านั้น

พารามิเตอร์

  • tabIds

    number | number[]

    รหัสแท็บหรือรายการรหัสแท็บที่จะย้าย

  • moveProperties

    ออบเจ็กต์

    • ดัชนี

      ตัวเลข

      ตำแหน่งที่จะย้ายหน้าต่างไป ใช้ -1 เพื่อวางแท็บไว้ที่ท้ายหน้าต่าง

    • windowId

      หมายเลข ไม่บังคับ

      ค่าเริ่มต้นคือหน้าต่างที่แท็บอยู่

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

  • Promise<Tab | Tab[]>

    Chrome 88 ขึ้นไป

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

      หมายเลข ไม่บังคับ

      รอดำเนินการ

      รหัสของมุมมองแบบแยกที่แท็บอยู่ หรือ tabs.SPLIT_VIEW_ID_NONE สำหรับแท็บที่ไม่ได้อยู่ในมุมมองแบบแยก

    • สถานะ

      TabStatus ไม่บังคับ

      สถานะการโหลดแท็บ

    • title

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

      จับคู่ชื่อหน้าเว็บกับรูปแบบ ระบบจะไม่สนใจพร็อพเพอร์ตี้นี้หากส่วนขยายไม่มีสิทธิ์ "tabs" หรือสิทธิ์ของโฮสต์สำหรับหน้าเว็บ

    • URL

      string | string[] ไม่บังคับ

      จับคู่แท็บกับรูปแบบ URL อย่างน้อย 1 รายการ ระบบจะไม่จับคู่ตัวระบุส่วนย่อย ระบบจะไม่สนใจพร็อพเพอร์ตี้นี้หากส่วนขยายไม่มีสิทธิ์ "tabs" หรือสิทธิ์ของโฮสต์สำหรับหน้าเว็บ

    • windowId

      หมายเลข ไม่บังคับ

      รหัสของหน้าต่างหลัก หรือ windows.WINDOW_ID_CURRENT สำหรับหน้าต่างปัจจุบัน

    • windowType

      WindowType ไม่บังคับ

      ประเภทหน้าต่างที่แท็บอยู่

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

  • Promise<Tab[]>

    Chrome 88 ขึ้นไป

reload()

chrome.tabs.reload(
  tabId?: number,
  reloadProperties?: object,
)
: Promise<void>

โหลดแท็บซ้ำ

พารามิเตอร์

  • tabId

    หมายเลข ไม่บังคับ

    รหัสของแท็บที่จะโหลดซ้ำ โดยค่าเริ่มต้นจะเป็นแท็บที่เลือกของหน้าต่างปัจจุบัน

  • reloadProperties

    object ไม่บังคับ

    • bypassCache

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

      เลือกว่าจะข้ามการแคชในเครื่องไหม ค่าเริ่มต้นคือ false

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

  • Promise<void>

    Chrome 88 ขึ้นไป

remove()

chrome.tabs.remove(
  tabIds: number | number[],
)
: Promise<void>

ปิดแท็บอย่างน้อย 1 แท็บ

พารามิเตอร์

  • tabIds

    number | 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 ไม่บังคับ

    • documentId

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

      Chrome 106 ขึ้นไป

      ส่งข้อความไปยังเอกสารที่เฉพาะเจาะจงซึ่งระบุโดย documentId แทนที่จะส่งไปยังเฟรมทั้งหมดในแท็บ

    • frameId

      หมายเลข ไม่บังคับ

      ส่งข้อความไปยังเฟรมที่เฉพาะเจาะจงซึ่งระบุโดย frameId แทนที่จะส่งไปยังเฟรมทั้งหมดในแท็บ

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

  • 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 88 ขึ้นไป
chrome.tabs.ungroup(
  tabIds: number | [number, ...number[]],
)
: Promise<void>

นำแท็บอย่างน้อย 1 แท็บออกจากกลุ่มที่เกี่ยวข้อง หากกลุ่มใดว่างเปล่า ระบบจะลบกลุ่มนั้น

พารามิเตอร์

  • tabIds

    number | [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 หรือเพิ่มแท็บลงในกลุ่มแท็บ

พารามิเตอร์

  • callback

    ฟังก์ชัน

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

    (tab: Tab) => void

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

      ออบเจ็กต์

      • tabIds

        number[]

        แท็บที่ไฮไลต์ทั้งหมดในหน้าต่าง

      • 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 ขึ้นไป

        กลุ่มใหม่ของแท็บ

      • mutedInfo

        MutedInfo ไม่บังคับ

        Chrome 46 ขึ้นไป

        สถานะปิดเสียงใหม่ของแท็บและเหตุผลของการเปลี่ยนแปลง

      • ตรึงอยู่

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

        สถานะใหม่ของแท็บที่ปักหมุด

      • splitViewId

        หมายเลข ไม่บังคับ

        รอดำเนินการ

        มุมมองแบบแยกใหม่ของแท็บ

      • สถานะ

        TabStatus ไม่บังคับ

        สถานะการโหลดของแท็บ

      • title

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

        Chrome 48 ขึ้นไป

        ชื่อใหม่ของแท็บ

      • URL

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

        URL ของแท็บหากมีการเปลี่ยนแปลง

    • แท็บ

onZoomChange

chrome.tabs.onZoomChange.addListener(
  callback: function,
)

เริ่มทำงานเมื่อมีการซูมแท็บ

พารามิเตอร์

  • callback

    ฟังก์ชัน

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

    (ZoomChangeInfo: object) => void

    • ZoomChangeInfo

      ออบเจ็กต์

      • newZoomFactor

        ตัวเลข

      • oldZoomFactor

        ตัวเลข

      • tabId

        ตัวเลข

      • zoomSettings