chrome.tabs

คำอธิบาย

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

Tabs API ไม่เพียงมีฟีเจอร์สำหรับการควบคุมและจัดการแท็บเท่านั้น แต่ยังสามารถตรวจจับภาษาของแท็บ ถ่ายภาพหน้าจอ และสื่อสารด้วยสคริปต์เนื้อหาของแท็บได้อีกด้วย

สิทธิ์

ฟีเจอร์ส่วนใหญ่ไม่จำเป็นต้องใช้สิทธิ์ใดๆ ในการใช้งาน ตัวอย่างเช่น การสร้างแท็บใหม่ การโหลดแท็บซ้ำ การนำทางไปยัง URL อื่น ฯลฯ

สิทธิ์ 3 อย่างที่นักพัฒนาซอฟต์แวร์ควรทราบเมื่อทํางานกับ Tabs API

สิทธิ์ "แท็บ"

สิทธิ์นี้ไม่ได้ให้สิทธิ์เข้าถึงเนมสเปซ chrome.tabs แต่จะให้ส่วนขยายความสามารถในการเรียกใช้ tabs.query() กับพร็อพเพอร์ตี้ที่ละเอียดอ่อน 4 รายการในอินสแตนซ์ tabs.Tab ซึ่งได้แก่ url, pendingUrl, title และfavIconUrl

{
  "name": "My extension",
  ...
  "permissions": [
    "tabs"
  ],
  ...
}
สิทธิ์ของโฮสต์

สิทธิ์ของโฮสต์ช่วยให้ส่วนขยายอ่านและค้นหาพร็อพเพอร์ตี้ tabs.Tab ที่มีความละเอียดอ่อน 4 รายการของแท็บที่ตรงกันได้ นอกจากนี้ยังโต้ตอบกับแท็บที่ตรงกันได้โดยตรงโดยใช้วิธีการต่างๆ เช่น tabs.captureVisibleTab(), tabs.executeScript(), tabs.insertCSS() และ tabs.removeCSS()

{
  "name": "My extension",
  ...
  "host_permissions": [
    "http://*/*",
    "https://*/*"
  ],
  ...
}
สิทธิ์ "activeTab"

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

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

Use Case

ส่วนต่อไปนี้จะแสดงกรณีการใช้งานที่พบบ่อย

เปิดหน้าส่วนขยายในแท็บใหม่

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

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.");
      }
    });
  }

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

ตัวอย่างนี้แสดงให้เห็นว่า Service Worker ของส่วนขยายสื่อสารกับสคริปต์เนื้อหาในแท็บเบราว์เซอร์เฉพาะโดยใช้ 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

    string ไม่บังคับ

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

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

    boolean

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

  • สาเหตุ

    MutedInfoReason ไม่บังคับ

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

MutedInfoReason

Chrome 46 ขึ้นไป

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

ค่าแจกแจง

"user"
การดำเนินการป้อนข้อมูลของผู้ใช้ตั้งสถานะปิดเสียง

"capture"
เริ่มการบันทึกแท็บแล้ว โดยบังคับให้เปลี่ยนสถานะที่ปิดเสียง

"extension"
ส่วนขยายที่ระบุโดยช่องExtensionId จะตั้งสถานะปิดเสียง

Tab

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

  • ใช้งาน

    boolean

    แท็บใช้งานในหน้าต่างอยู่หรือไม่ ไม่ได้หมายความว่าหน้าต่างถูกโฟกัสอยู่เสมอไป

  • audible

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

    Chrome 45 ขึ้นไป

    แท็บมีเสียงในช่วง 2-3 วินาทีที่ผ่านมาหรือไม่ (แต่อาจไม่ได้ยินเสียงหากปิดเสียงด้วย) เทียบเท่ากับสถานะ "เสียงของลำโพง" ปรากฏขึ้นหรือไม่

  • autoDiscardable

    boolean

    Chrome 54 ขึ้นไป

    เบราว์เซอร์สามารถทิ้งแท็บโดยอัตโนมัติได้หรือไม่เมื่อทรัพยากรเหลือน้อย

  • ทิ้งแล้ว

    boolean

    Chrome 54 ขึ้นไป

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

  • favIconUrl

    string ไม่บังคับ

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

  • groupId

    ตัวเลข

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

    รหัสของกลุ่มที่มีแท็บนั้นอยู่

  • ส่วนสูง

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

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

  • ไฮไลต์ไว้

    boolean

    แท็บมีการไฮไลต์หรือไม่

  • id

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

    รหัสของแท็บ รหัสแท็บจะไม่ซ้ำกันในเซสชันของเบราว์เซอร์ ในบางสถานการณ์ ระบบอาจกำหนดรหัสแท็บไม่ได้ เช่น เมื่อค้นหาแท็บภาษาต่างประเทศโดยใช้ API ของ sessions ซึ่งในกรณีนี้อาจมีรหัสเซสชันอยู่ คุณยังตั้งค่ารหัสแท็บเป็น chrome.tabs.TAB_ID_NONE สำหรับหน้าต่างแอปและเครื่องมือสำหรับนักพัฒนาเว็บได้ด้วย

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

    boolean

    แท็บอยู่ในหน้าต่างที่ไม่ระบุตัวตนหรือไม่

  • ดัชนี

    ตัวเลข

    ดัชนีฐาน 0 ของแท็บภายในหน้าต่าง

  • lastAccessed

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

    Chrome 121 ขึ้นไป

    เวลาล่าสุดที่มีการเข้าถึงแท็บเป็นจำนวนมิลลิวินาทีนับตั้งแต่ Epoch

  • mutedInfo

    MutedInfo ไม่บังคับ

    Chrome 46 ขึ้นไป

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

  • openerTabId

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

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

  • pendingUrl

    string ไม่บังคับ

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

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

  • ปักหมุดแล้ว

    boolean

    มีการปักหมุดแท็บไหม

  • เลือกแล้ว

    boolean

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

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

    แท็บมีการเลือกหรือไม่

  • sessionId

    string ไม่บังคับ

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

  • status

    TabStatus ไม่บังคับ

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

  • title

    string ไม่บังคับ

    ชื่อของแท็บ พร็อพเพอร์ตี้นี้จะปรากฏก็ต่อเมื่อไฟล์ Manifest ของส่วนขยายมีสิทธิ์ "tabs" เท่านั้น

  • url

    string ไม่บังคับ

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

  • ความกว้าง

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

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

  • windowId

    ตัวเลข

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

TabStatus

Chrome 44 ขึ้นไป

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

ค่าแจกแจง

WindowType

Chrome 44 ขึ้นไป

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

ค่าแจกแจง

ZoomSettings

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

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

  • defaultZoomFactor

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

    Chrome 43 ขึ้นไป

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

  • โหมด

    ZoomSettingsMode ไม่บังคับ

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

  • ขอบเขต

    ZoomSettingsScope ไม่บังคับ

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

ZoomSettingsMode

Chrome 44 ขึ้นไป

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

ค่าแจกแจง

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

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

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

ZoomSettingsScope

Chrome 44 ขึ้นไป

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

ค่าแจกแจง

"per-origin"
การเปลี่ยนแปลงการซูมจะคงอยู่ในต้นทางของหน้าที่ซูม กล่าวคือ แท็บอื่นๆ ทั้งหมดที่ไปยังต้นทางเดียวกันจะถูกซูมด้วย นอกจากนี้ การเปลี่ยนแปลงการซูม 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 ขึ้นไป

ดัชนีที่แสดงให้เห็นว่าไม่มีดัชนีแท็บใน Tab_strip

ค่า

-1

วิธีการ

captureVisibleTab()

สัญญา
chrome.tabs.captureVisibleTab(
  windowId?: number,
  options?: ImageDetails,
  callback?: function,
)

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

พารามิเตอร์

  • windowId

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

    หน้าต่างเป้าหมาย ค่าเริ่มต้นคือหน้าต่างปัจจุบัน

  • ตัวเลือก

    ImageDetails ไม่บังคับ

  • Callback

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

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

    (dataUrl: string)=>void

    • dataUrl

      string

      URL ข้อมูลที่เข้ารหัสรูปภาพของส่วนที่มองเห็นได้ของแท็บที่จับภาพ อาจกําหนดให้กับพร็อพเพอร์ตี้ "src" ขององค์ประกอบ img ของ HTML เพื่อการแสดงผล

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

  • คำสัญญา<string>

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

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

connect()

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

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

พารามิเตอร์

  • tabId

    ตัวเลข

  • connectInfo

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

    • documentId

      string ไม่บังคับ

      Chrome 106 ขึ้นไป

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

    • frameId

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

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

    • ชื่อ

      string ไม่บังคับ

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

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

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

create()

สัญญา
chrome.tabs.create(
  createProperties: object,
  callback?: function,
)

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

พารามิเตอร์

  • createProperties

    ออบเจ็กต์

    • ใช้งาน

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

      แท็บควรเป็นแท็บที่ใช้งานอยู่ในหน้าต่างหรือไม่ ไม่ส่งผลกระทบต่อการโฟกัสหน้าต่าง (ดู windows.update) ค่าเริ่มต้นคือ true

    • ดัชนี

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

      ตําแหน่งที่แท็บควรจะปรากฏในหน้าต่าง ค่าที่ระบุจะถูกบีบให้เหลือระหว่าง 0 ถึงจำนวนแท็บในหน้าต่าง

    • openerTabId

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

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

    • ปักหมุดแล้ว

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

      ควรปักหมุดแท็บไหม ค่าเริ่มต้นคือ false

    • เลือกแล้ว

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

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

      โปรดใช้ active

      แท็บควรเป็นแท็บที่เลือกในหน้าต่างหรือไม่ ค่าเริ่มต้นคือ true

    • url

      string ไม่บังคับ

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

    • windowId

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

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

  • Callback

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

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

    (tab: Tab)=>void

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

  • Promise<Tab>

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

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

detectLanguage()

สัญญา
chrome.tabs.detectLanguage(
  tabId?: number,
  callback?: function,
)

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

พารามิเตอร์

  • tabId

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

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

  • Callback

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

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

    (language: string)=>void

    • ภาษา

      string

      รหัสภาษา ISO เช่น en หรือ fr ดูรายการภาษาทั้งหมดที่วิธีนี้รองรับได้ที่ kLanguageInfoTable คอลัมน์ที่ 2 ถึง 4 จะถูกเลือกไว้ และจะแสดงค่าแรกที่ไม่ใช่ NULL ยกเว้นภาษาจีนตัวย่อที่จะแสดงผล zh-CN สำหรับภาษาที่ไม่รู้จัก/ไม่ระบุ ระบบจะแสดงผล und

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

  • คำสัญญา<string>

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

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

discard()

คำมั่นสัญญา Chrome เวอร์ชัน 54 ขึ้นไป
chrome.tabs.discard(
  tabId?: number,
  callback?: function,
)

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

พารามิเตอร์

  • tabId

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

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

  • Callback

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

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

    (tab?: Tab)=>void

    • Tab

      Tab ไม่บังคับ

      แท็บที่ถูกยกเลิก หากทิ้งเรียบร้อยแล้ว ไม่ระบุ

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

  • สัญญา<Tab|undefined>

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

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

duplicate()

สัญญา
chrome.tabs.duplicate(
  tabId: number,
  callback?: function,
)

ทำซ้ำแท็บ

พารามิเตอร์

  • tabId

    ตัวเลข

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

  • Callback

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

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

    (tab?: Tab)=>void

    • Tab

      Tab ไม่บังคับ

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

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

  • สัญญา<Tab|undefined>

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

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

executeScript()

Promise &leq; MV2 เลิกใช้งานตั้งแต่ Chrome 91
chrome.tabs.executeScript(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)

แทนที่โดย scripting.executeScript ในไฟล์ Manifest V3

แทรกโค้ด JavaScript ลงในหน้าเว็บ โปรดดูรายละเอียดที่ส่วนการแทรกแบบเป็นโปรแกรมในเอกสารสคริปต์เนื้อหา

พารามิเตอร์

  • tabId

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

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

  • รายละเอียด

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

  • Callback

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

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

    (result?: any[])=>void

    • ผลลัพธ์

      ทั้งหมด[] ไม่บังคับ

      ผลลัพธ์ของสคริปต์ในทุกเฟรมที่แทรก

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

  • คำสัญญา<any[]|undefined>

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

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

get()

สัญญา
chrome.tabs.get(
  tabId: number,
  callback?: function,
)

เรียกข้อมูลรายละเอียดเกี่ยวกับแท็บที่ระบุ

พารามิเตอร์

  • tabId

    ตัวเลข

  • Callback

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

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

    (tab: Tab)=>void

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

  • Promise<Tab>

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

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

getAllInWindow()

Promise &leq; MV2 เลิกใช้งาน
chrome.tabs.getAllInWindow(
  windowId?: number,
  callback?: function,
)

โปรดใช้ tabs.query {windowId: windowId}

ดูรายละเอียดเกี่ยวกับแท็บทั้งหมดในหน้าต่างที่ระบุ

พารามิเตอร์

  • windowId

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

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

  • Callback

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

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

    (tabs: Tab[])=>void

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

  • Promise<Tab[]>

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

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

getCurrent()

สัญญา
chrome.tabs.getCurrent(
  callback?: function,
)

รับแท็บที่ใช้เรียกใช้สคริปต์นี้ แสดงผล undefined หากเรียกใช้จากบริบทที่ไม่ใช่แท็บ (เช่น หน้าพื้นหลังหรือมุมมองป๊อปอัป)

พารามิเตอร์

  • Callback

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

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

    (tab?: Tab)=>void

    • Tab

      Tab ไม่บังคับ

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

  • สัญญา<Tab|undefined>

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

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

getSelected()

Promise &leq; MV2 เลิกใช้งาน
chrome.tabs.getSelected(
  windowId?: number,
  callback?: function,
)

โปรดใช้ tabs.query {active: true}

ดูแท็บที่เลือกไว้ในหน้าต่างที่ระบุ

พารามิเตอร์

  • windowId

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

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

  • Callback

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

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

    (tab: Tab)=>void

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

  • Promise<Tab>

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

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

getZoom()

สัญญา
chrome.tabs.getZoom(
  tabId?: number,
  callback?: function,
)

ดึงค่าการซูมปัจจุบันของแท็บที่ระบุ

พารามิเตอร์

  • tabId

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

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

  • Callback

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

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

    (zoomFactor: number)=>void

    • zoomFactor

      ตัวเลข

      ปัจจัยการซูมปัจจุบันของแท็บ

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

  • คำมั่นสัญญา<number>

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

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

getZoomSettings()

สัญญา
chrome.tabs.getZoomSettings(
  tabId?: number,
  callback?: function,
)

รับการตั้งค่าการซูมปัจจุบันของแท็บที่ระบุ

พารามิเตอร์

  • tabId

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

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

  • Callback

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

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

    (zoomSettings: ZoomSettings)=>void

    • zoomSettings

      การตั้งค่าการซูมปัจจุบันของแท็บ

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

  • Promise<ZoomSettings>

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

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

goBack()

คำมั่นสัญญา Chrome เวอร์ชัน 72 ขึ้นไป
chrome.tabs.goBack(
  tabId?: number,
  callback?: function,
)

กลับไปยังหน้าก่อนหน้า หากมี

พารามิเตอร์

  • tabId

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

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

  • Callback

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

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

    ()=>void

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

  • Promise<void>

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

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

goForward()

คำมั่นสัญญา Chrome เวอร์ชัน 72 ขึ้นไป
chrome.tabs.goForward(
  tabId?: number,
  callback?: function,
)

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

พารามิเตอร์

  • tabId

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

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

  • Callback

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

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

    ()=>void

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

  • Promise<void>

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

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

group()

คำมั่นสัญญา Chrome เวอร์ชัน 88 ขึ้นไป
chrome.tabs.group(
  options: object,
  callback?: function,
)

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

พารามิเตอร์

  • ตัวเลือก

    ออบเจ็กต์

    • createProperties

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

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

      • windowId

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

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

    • groupId

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

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

    • tabIds

      ตัวเลข|[ตัวเลข,...ตัวเลข[]]

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

  • Callback

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

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

    (groupId: number)=>void

    • groupId

      ตัวเลข

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

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

  • คำมั่นสัญญา<number>

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

highlight()

สัญญา
chrome.tabs.highlight(
  highlightInfo: object,
  callback?: function,
)

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

พารามิเตอร์

  • highlightInfo

    ออบเจ็กต์

    • แท็บ

      ตัวเลข|ตัวเลข[]

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

    • windowId

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

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

  • Callback

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

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

    (window: Window)=>void

    • หน้าต่าง

      มีรายละเอียดเกี่ยวกับหน้าต่างที่ไฮไลต์แท็บ

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

  • สัญญาว่า<windows.Window>

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

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

insertCSS()

Promise &leq; MV2 เลิกใช้งานตั้งแต่ Chrome 91
chrome.tabs.insertCSS(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)

แทนที่โดย scripting.insertCSS ในไฟล์ Manifest V3

แทรก CSS ลงในหน้าเว็บ คุณจะนำรูปแบบที่แทรกด้วยวิธีนี้ออกได้ด้วย scripting.removeCSS โปรดดูรายละเอียดที่ส่วนการแทรกแบบเป็นโปรแกรมในเอกสารสคริปต์เนื้อหา

พารามิเตอร์

  • tabId

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

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

  • รายละเอียด

    รายละเอียดของข้อความ CSS ที่จะแทรก ต้องตั้งค่าโค้ดหรือคุณสมบัติของไฟล์ แต่ตั้งค่าทั้ง 2 อย่างพร้อมกันไม่ได้

  • Callback

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

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

    ()=>void

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

  • Promise<void>

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

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

move()

สัญญา
chrome.tabs.move(
  tabIds: number|number[],
  moveProperties: object,
  callback?: function,
)

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

พารามิเตอร์

  • tabIds

    ตัวเลข|ตัวเลข[]

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

  • moveProperties

    ออบเจ็กต์

    • ดัชนี

      ตัวเลข

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

    • windowId

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

      ค่าเริ่มต้นจะเป็นหน้าต่างที่แท็บกำลังใช้งานอยู่

  • Callback

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

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

    (tabs: Tab|Tab[])=>void

    • แท็บ

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

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

  • สัญญา<Tab|Tab[]>

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

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

query()

สัญญา
chrome.tabs.query(
  queryInfo: object,
  callback?: function,
)

รับแท็บทั้งหมดที่มีคุณสมบัติตามที่ระบุไว้ หรือแท็บทั้งหมดหากไม่ได้ระบุคุณสมบัติไว้

พารามิเตอร์

  • queryInfo

    ออบเจ็กต์

    • ใช้งาน

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

      แท็บต่างๆ มีการใช้งานในหน้าต่างหรือไม่

    • audible

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

      Chrome 45 ขึ้นไป

      แท็บได้ยินเสียงหรือไม่

    • autoDiscardable

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

      Chrome 54 ขึ้นไป

      เบราว์เซอร์สามารถทิ้งแท็บโดยอัตโนมัติได้หรือไม่เมื่อทรัพยากรเหลือน้อย

    • currentWindow

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

      แท็บอยู่ในหน้าต่างปัจจุบันหรือไม่

    • ทิ้งแล้ว

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

      Chrome 54 ขึ้นไป

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

    • groupId

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

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

      รหัสของกลุ่มที่มีแท็บอยู่ หรือ tabGroups.TAB_GROUP_ID_NONE ของแท็บที่ไม่ได้จัดกลุ่ม

    • ไฮไลต์ไว้

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

      มีการไฮไลต์แท็บหรือไม่

    • ดัชนี

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

      ตำแหน่งของแท็บภายในหน้าต่าง

    • lastFocusedWindow

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

      แท็บอยู่ในหน้าต่างที่โฟกัสล่าสุดหรือไม่

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

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

      Chrome 45 ขึ้นไป

      ปิดเสียงแท็บไหม

    • ปักหมุดแล้ว

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

      มีการปักหมุดแท็บไหม

    • status

      TabStatus ไม่บังคับ

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

    • title

      string ไม่บังคับ

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

    • url

      string|string[] optional

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

    • windowId

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

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

    • windowType

      WindowType ไม่บังคับ

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

  • Callback

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

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

    (result: Tab[])=>void

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

  • Promise<Tab[]>

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

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

reload()

สัญญา
chrome.tabs.reload(
  tabId?: number,
  reloadProperties?: object,
  callback?: function,
)

โหลดแท็บซ้ำ

พารามิเตอร์

  • tabId

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

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

  • reloadProperties

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

    • bypassCache

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

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

  • Callback

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

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

    ()=>void

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

  • Promise<void>

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

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

remove()

สัญญา
chrome.tabs.remove(
  tabIds: number|number[],
  callback?: function,
)

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

พารามิเตอร์

  • tabIds

    ตัวเลข|ตัวเลข[]

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

  • Callback

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

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

    ()=>void

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

  • Promise<void>

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

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

removeCSS()

Promise Chrome 87+ &leq; MV2 เลิกใช้งานตั้งแต่ Chrome 91
chrome.tabs.removeCSS(
  tabId?: number,
  details: DeleteInjectionDetails,
  callback?: function,
)

แทนที่โดย scripting.removeCSS ในไฟล์ Manifest V3

นำออกจาก CSS ของหน้าเว็บที่ก่อนหน้านี้มีการแทรกโดยการเรียกไปยัง scripting.insertCSS

พารามิเตอร์

  • tabId

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

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

  • รายละเอียด

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

  • Callback

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

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

    ()=>void

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

  • Promise<void>

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

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

sendMessage()

สัญญา
chrome.tabs.sendMessage(
  tabId: number,
  message: any,
  options?: object,
  callback?: function,
)

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

พารามิเตอร์

  • tabId

    ตัวเลข

  • ข้อความ

    อะไรก็ได้

    ข้อความที่จะส่ง ข้อความนี้ควรเป็นออบเจ็กต์ที่ใช้ JSON ได้

  • ตัวเลือก

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

    • documentId

      string ไม่บังคับ

      Chrome 106 ขึ้นไป

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

    • frameId

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

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

  • Callback

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

    Chrome 99 ขึ้นไป

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

    (response: any)=>void

    • การตอบกลับ

      อะไรก็ได้

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

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

  • คำสัญญา<any>

    Chrome 99 ขึ้นไป

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

sendRequest()

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

โปรดใช้ runtime.sendMessage

ส่งคำขอเดียวไปยังสคริปต์เนื้อหาในแท็บที่ระบุ โดยมีการเรียกกลับ(ไม่บังคับ) ให้เรียกใช้เมื่อมีการส่งการตอบกลับ เหตุการณ์ extension.onRequest จะเริ่มทำงานในสคริปต์เนื้อหาแต่ละสคริปต์ที่ทำงานในแท็บที่ระบุสำหรับส่วนขยายปัจจุบัน

พารามิเตอร์

  • tabId

    ตัวเลข

  • ส่งคำขอ

    อะไรก็ได้

  • Callback

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

    Chrome 99 ขึ้นไป

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

    (response: any)=>void

    • การตอบกลับ

      อะไรก็ได้

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

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

  • คำสัญญา<any>

    Chrome 99 ขึ้นไป

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

setZoom()

สัญญา
chrome.tabs.setZoom(
  tabId?: number,
  zoomFactor: number,
  callback?: function,
)

ซูมแท็บที่ระบุ

พารามิเตอร์

  • tabId

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

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

  • zoomFactor

    ตัวเลข

    ปัจจัยการซูมใหม่ ค่า 0 จะตั้งค่าแท็บเป็นค่าการซูมเริ่มต้นปัจจุบัน ค่าที่มากกว่า 0 จะเป็นตัวระบุการซูม (ซึ่งอาจไม่ใช่ค่าเริ่มต้น) สำหรับแท็บ

  • Callback

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

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

    ()=>void

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

  • Promise<void>

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

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

setZoomSettings()

สัญญา
chrome.tabs.setZoomSettings(
  tabId?: number,
  zoomSettings: ZoomSettings,
  callback?: function,
)

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

พารามิเตอร์

  • tabId

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

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

  • zoomSettings

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

  • Callback

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

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

    ()=>void

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

  • Promise<void>

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

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

ungroup()

คำมั่นสัญญา Chrome เวอร์ชัน 88 ขึ้นไป
chrome.tabs.ungroup(
  tabIds: number|[number,...number[]],
  callback?: function,
)

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

พารามิเตอร์

  • tabIds

    ตัวเลข|[ตัวเลข,...ตัวเลข[]]

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

  • Callback

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

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

    ()=>void

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

  • Promise<void>

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

update()

สัญญา
chrome.tabs.update(
  tabId?: number,
  updateProperties: object,
  callback?: function,
)

แก้ไขคุณสมบัติของแท็บ ระบบจะไม่แก้ไขที่พักที่ไม่ได้ระบุไว้ใน updateProperties

พารามิเตอร์

  • tabId

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

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

  • updateProperties

    ออบเจ็กต์

    • ใช้งาน

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

      แท็บควรทำงานอยู่หรือไม่ ไม่ส่งผลกระทบต่อการโฟกัสหน้าต่าง (ดู windows.update)

    • autoDiscardable

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

      Chrome 54 ขึ้นไป

      เบราว์เซอร์ควรทิ้งแท็บโดยอัตโนมัติเมื่อทรัพยากรเหลือน้อยหรือไม่

    • ไฮไลต์ไว้

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

      เพิ่มหรือนำแท็บออกจากการเลือกปัจจุบัน

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

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

      Chrome 45 ขึ้นไป

      ควรปิดเสียงแท็บไหม

    • openerTabId

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

      รหัสของแท็บที่เปิดแท็บนี้ หากระบุไว้ แท็บที่เปิดอยู่ต้องอยู่ในหน้าต่างเดียวกับแท็บนี้

    • ปักหมุดแล้ว

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

      ควรปักหมุดแท็บไหม

    • เลือกแล้ว

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

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

      โปรดใช้ที่ไฮไลต์

      ควรเลือกแท็บไหม

    • url

      string ไม่บังคับ

      URL ที่จะไปยังส่วนต่างๆ ของแท็บ ระบบไม่รองรับ URL ของ JavaScript โปรดใช้ scripting.executeScript แทน

  • Callback

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

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

    (tab?: Tab)=>void

    • Tab

      Tab ไม่บังคับ

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

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

  • สัญญา<Tab|undefined>

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

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

กิจกรรม

onActivated

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

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

พารามิเตอร์

  • Callback

    ฟังก์ชัน

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

    (activeInfo: object)=>void

    • activeInfo

      ออบเจ็กต์

      • tabId

        ตัวเลข

        รหัสของแท็บที่เปิดใช้งานแล้ว

      • windowId

        ตัวเลข

        รหัสของหน้าต่างที่แท็บที่ใช้งานอยู่มีการเปลี่ยนแปลงภายใน

onActiveChanged

&leq; MV2 เลิกใช้งานแล้ว
chrome.tabs.onActiveChanged.addListener(
  callback: function,
)

โปรดใช้ tabs.onActivated

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

พารามิเตอร์

  • Callback

    ฟังก์ชัน

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

    (tabId: number,selectInfo: object)=>void

    • tabId

      ตัวเลข

    • selectInfo

      ออบเจ็กต์

      • 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

        ตัวเลข

onHighlightChanged

&leq; MV2 เลิกใช้งานแล้ว
chrome.tabs.onHighlightChanged.addListener(
  callback: function,
)

โปรดใช้ tabs.onHighlighted

เริ่มทำงานเมื่อแท็บที่ไฮไลต์หรือแท็บที่เลือกในหน้าต่างมีการเปลี่ยนแปลง

พารามิเตอร์

  • Callback

    ฟังก์ชัน

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

    (selectInfo: object)=>void

    • selectInfo

      ออบเจ็กต์

      • tabIds

        ตัวเลข[]

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

      • windowId

        ตัวเลข

        หน้าต่างที่มีการเปลี่ยนแปลงแท็บ

onHighlighted

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

เริ่มทำงานเมื่อแท็บที่ไฮไลต์หรือแท็บที่เลือกในหน้าต่างมีการเปลี่ยนแปลง

พารามิเตอร์

  • Callback

    ฟังก์ชัน

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

    (highlightInfo: object)=>void

    • highlightInfo

      ออบเจ็กต์

      • tabIds

        ตัวเลข[]

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

      • windowId

        ตัวเลข

        หน้าต่างที่มีการเปลี่ยนแปลงแท็บ

onMoved

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

เริ่มทำงานเมื่อย้ายแท็บภายในหน้าต่าง มีเหตุการณ์การย้ายเพียงรายการเดียวที่เริ่มทำงาน โดยจะแสดงแท็บที่ผู้ใช้ย้ายโดยตรง เหตุการณ์การย้ายจะไม่เริ่มทํางานสําหรับแท็บอื่นๆ ที่ต้องย้ายตามแท็บที่ย้ายด้วยตนเอง เหตุการณ์นี้จะไม่เริ่มทำงานเมื่อมีการย้ายแท็บระหว่างหน้าต่าง ดูรายละเอียดได้ที่ 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

        boolean

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

      • windowId

        ตัวเลข

        หน้าต่างที่แท็บปิดอยู่

onReplaced

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

เริ่มทำงานเมื่อแท็บถูกแทนที่ด้วยแท็บอื่นเนื่องจากการแสดงผลล่วงหน้าหรือเป็นแบบทันที

พารามิเตอร์

  • Callback

    ฟังก์ชัน

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

    (addedTabId: number,removedTabId: number)=>void

    • addedTabId

      ตัวเลข

    • removedTabId

      ตัวเลข

onSelectionChanged

&leq; MV2 เลิกใช้งานแล้ว
chrome.tabs.onSelectionChanged.addListener(
  callback: function,
)

โปรดใช้ tabs.onActivated

เริ่มทำงานเมื่อแท็บที่เลือกในหน้าต่างมีการเปลี่ยนแปลง

พารามิเตอร์

  • Callback

    ฟังก์ชัน

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

    (tabId: number,selectInfo: object)=>void

    • tabId

      ตัวเลข

    • selectInfo

      ออบเจ็กต์

      • windowId

        ตัวเลข

        รหัสของหน้าต่างที่แท็บที่เลือกมีการเปลี่ยนแปลงภายใน

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

        string ไม่บังคับ

        URL ไอคอน Fav ใหม่ของแท็บ

      • groupId

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

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

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

      • mutedInfo

        MutedInfo ไม่บังคับ

        Chrome 46 ขึ้นไป

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

      • ปักหมุดแล้ว

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

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

      • status

        TabStatus ไม่บังคับ

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

      • title

        string ไม่บังคับ

        Chrome 48 ขึ้นไป

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

      • url

        string ไม่บังคับ

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

onZoomChange

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

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

พารามิเตอร์

  • Callback

    ฟังก์ชัน

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

    (ZoomChangeInfo: object)=>void

    • ZoomChangeInfo

      ออบเจ็กต์

      • newZoomFactor

        ตัวเลข

      • oldZoomFactor

        ตัวเลข

      • tabId

        ตัวเลข

      • zoomSettings