chrome.tabs

คำอธิบาย

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

ภาพรวม

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

สิทธิ์

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

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

สิทธิ์ "แท็บ"
สิทธิ์นี้ไม่ได้ให้สิทธิ์เข้าถึงเนมสเปซ chrome.tabs แต่จะ ให้สิทธิ์ส่วนขยายในการเรียกใช้ tabs.query() กับพร็อพเพอร์ตี้ที่ละเอียดอ่อน 4 รายการในอินสแตนซ์ tabs.Tab ได้แก่ url, pendingUrl, title และ favIconUrl
สิทธิ์ของโฮสต์
สิทธิ์ของโฮสต์อนุญาตให้ส่วนขยายอ่านและค้นหาพร็อพเพอร์ตี้ที่มีความละเอียดอ่อน 4 รายการของแท็บที่ตรงกัน tabs.Tab นอกจากนี้ยังโต้ตอบกับแท็บที่ตรงกันได้โดยตรงโดยใช้วิธีการต่างๆ เช่น tabs.captureVisibleTab(), tabs.executeScript(), tabs.insertCSS() และ tabs.removeCSS()
สิทธิ์ "activeTab"
activeTab ให้สิทธิ์โฮสต์ชั่วคราวแก่ส่วนขยายสำหรับแท็บปัจจุบันเพื่อตอบสนองต่อการเรียกใช้ของผู้ใช้ activeTabจะไม่ทริกเกอร์คำเตือนใดๆ ซึ่งต่างจากสิทธิ์ของโฮสต์

ไฟล์ Manifest

ตัวอย่างวิธีประกาศสิทธิ์แต่ละรายการในไฟล์ Manifest มีดังนี้

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

  {
    "name": "My extension",
    ...
    "host_permissions": [
      "http://*/*",
      "https://*/*"
    ],
    ...
  }

  {
    "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

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

    รหัสของแท็บ รหัสแท็บจะไม่ซ้ำกันภายในเซสชันของเบราว์เซอร์ ในบางกรณี ระบบอาจไม่กำหนดรหัสให้กับแท็บ เช่น เมื่อค้นหาแท็บภายนอกโดยใช้ sessions API ในกรณีนี้อาจมีรหัสเซสชัน นอกจากนี้ยังตั้งค่ารหัสแท็บเป็น 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 โดยไม่ซ้ำกัน

  • splitViewId

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

    Chrome 140 ขึ้นไป

    รหัสของมุมมองแยกที่แท็บเป็นของ

  • สถานะ

    TabStatus ไม่บังคับ

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

  • title

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

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

  • URL

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

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

  • ความกว้าง

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

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

  • windowId

    ตัวเลข

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

TabStatus

Chrome 44 ขึ้นไป

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

ค่าแจกแจง

"ไม่ได้โหลด"

"กำลังโหลด"

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

WindowType

Chrome 44 ขึ้นไป

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

ค่าแจกแจง

"ปกติ"

"ป๊อปอัป"

"แผง"

"app"

"devtools"

ZoomSettings

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

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

  • defaultZoomFactor

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

    Chrome 43 ขึ้นไป

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

  • โหมด

    ZoomSettingsMode ไม่บังคับ

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

  • ขอบเขต

    ZoomSettingsScope ไม่บังคับ

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

ZoomSettingsMode

Chrome 44 ขึ้นไป

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

ค่าแจกแจง

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

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

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

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

SPLIT_VIEW_ID_NONE

Chrome 140 ขึ้นไป

รหัสที่แสดงถึงการไม่มีแท็บที่แยก

ค่า

-1

TAB_ID_NONE

Chrome 46 ขึ้นไป

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

ค่า

-1

TAB_INDEX_NONE

Chrome 123 ขึ้นไป

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

ค่า

-1

เมธอด

captureVisibleTab()

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

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

พารามิเตอร์

  • windowId

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

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

  • ตัวเลือก

    ImageDetails ไม่บังคับ

  • callback

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

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

    (dataUrl: string) => void

    • dataUrl

      สตริง

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

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

  • Promise<string>

    Chrome 88 ขึ้นไป

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

connect()

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

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

พารามิเตอร์

  • tabId

    ตัวเลข

  • connectInfo

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

    • documentId

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

      Chrome 106 ขึ้นไป

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

    • frameId

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

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

    • name

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

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

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

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

create()

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

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

พารามิเตอร์

  • createProperties

    ออบเจ็กต์

    • ใช้งาน

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

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

    • ดัชนี

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

      ตำแหน่งที่แท็บควรอยู่ในหน้าต่าง ค่าที่ระบุจะถูกจำกัดให้อยู่ระหว่าง 0 ถึงจำนวนแท็บในหน้าต่าง

    • openerTabId

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

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

    • ตรึงอยู่

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

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

    • เลือกแล้ว

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

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

      โปรดใช้ active

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

    • splitWithTabId

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

      Chrome 155 ขึ้นไป

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

      • ต้องไม่ใช่แท็บที่แยกไว้แล้ว
      • โดยต้องอยู่ในหน้าต่างเดียวกับแท็บที่สร้างขึ้นใหม่
      • หากมีการระบุ windowId จะต้องเหมือนกับรหัสหน้าต่างของแท็บที่แยก
      • หากมีการระบุ index จะต้องเป็นดัชนีที่อยู่ติดกับแท็บแยก และจะส่งผลต่อการวางตำแหน่งแบบสัมพัทธ์ของแท็บที่สร้างขึ้นใหม่
    • URL

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

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

    • windowId

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

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

  • callback

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

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

    (tab: Tab) => void

    • แท็บ

      แท็บที่สร้าง

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

  • Promise<Tab>

    Chrome 88 ขึ้นไป

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

createSplit()

Promise Chrome 155 ขึ้นไป
chrome.tabs.createSplit(
  tabIds: [number, number],
  callback?: function,
)
: Promise<number>

แยกแท็บที่มีอยู่ 2 แท็บเป็นมุมมองแบบแยก

พารามิเตอร์

  • tabIds

    [number, number]

    อาร์เรย์ของรหัสแท็บ 2 รายการที่ต้องการจับคู่เป็นมุมมองแบบแยก แท็บทั้งหมดต้องเป็นไปตามเงื่อนไขต่อไปนี้

    โดยต้องอยู่ติดกัน โดยต้องไม่อยู่ในมุมมองแบบแยกอยู่แล้ว โดยต้องมีสถานะ windowId, pinned และ groupId ที่ตรงกัน

  • callback

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

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

    (splitViewId: number) => void

    • splitViewId

      ตัวเลข

      รหัสของมุมมองแยกที่สร้างขึ้นใหม่ซึ่งมีแท็บที่ระบุ

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

  • Promise<หมายเลข>

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

detectLanguage()

Promise
chrome.tabs.detectLanguage(
  tabId?: number,
  callback?: function,
)
: Promise<string>

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

พารามิเตอร์

  • tabId

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

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

  • callback

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

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

    (language: string) => void

    • ภาษา

      สตริง

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

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

  • Promise<string>

    Chrome 88 ขึ้นไป

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

discard()

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

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

พารามิเตอร์

  • tabId

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

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

  • callback

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

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

    (tab?: Tab) => void

    • แท็บ

      แท็บ ไม่บังคับ

      แท็บที่ทิ้ง หากทิ้งสำเร็จ หรือไม่เช่นนั้นจะเป็น undefined

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

  • Promise<Tab | undefined>

    Chrome 88 ขึ้นไป

    จะได้รับการแก้ไขหลังจากที่การดำเนินการเสร็จสมบูรณ์

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

duplicate()

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

ทำซ้ำแท็บ

พารามิเตอร์

  • tabId

    ตัวเลข

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

  • callback

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

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

    (tab?: Tab) => void

    • แท็บ

      แท็บ ไม่บังคับ

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

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

  • Promise<Tab | undefined>

    Chrome 88 ขึ้นไป

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

executeScript()

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

แทนที่โดย scripting.executeScript ใน Manifest V3

แทรกโค้ด JavaScript ลงในหน้าเว็บ ดูรายละเอียดได้ที่ส่วนการแทรกแบบเป็นโปรแกรมในเอกสารประกอบเกี่ยวกับ Content Script

พารามิเตอร์

  • tabId

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

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

  • รายละเอียด

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

  • callback

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

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

    (result?: any[]) => void

    • ผลลัพธ์

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

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

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

  • Promise<any[] | undefined>

    Chrome 88 ขึ้นไป

    จะทำงานหลังจากที่ JavaScript ทั้งหมดได้รับการดำเนินการแล้ว

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

get()

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

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

พารามิเตอร์

  • tabId

    ตัวเลข

  • callback

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

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

    (tab: Tab) => void

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

  • Promise<Tab>

    Chrome 88 ขึ้นไป

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

getAllInWindow()

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

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

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

พารามิเตอร์

  • windowId

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

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

  • callback

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

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

    (tabs: Tab[]) => void

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

  • Promise<Tab[]>

    Chrome 88 ขึ้นไป

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

getCurrent()

Promise
chrome.tabs.getCurrent(
  callback?: function,
)
: Promise<Tab | undefined>

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

พารามิเตอร์

  • callback

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

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

    (tab?: Tab) => void

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

  • Promise<Tab | undefined>

    Chrome 88 ขึ้นไป

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

getSelected()

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

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

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

พารามิเตอร์

  • windowId

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

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

  • callback

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

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

    (tab: Tab) => void

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

  • Promise<Tab>

    Chrome 88 ขึ้นไป

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

getZoom()

Promise
chrome.tabs.getZoom(
  tabId?: number,
  callback?: function,
)
: Promise<number>

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

พารามิเตอร์

  • tabId

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

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

  • callback

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

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

    (zoomFactor: number) => void

    • zoomFactor

      ตัวเลข

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

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

  • Promise<หมายเลข>

    Chrome 88 ขึ้นไป

    แก้ไขด้วยปัจจัยการซูมปัจจุบันของแท็บหลังจากที่ดึงข้อมูลแล้ว

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

getZoomSettings()

Promise
chrome.tabs.getZoomSettings(
  tabId?: number,
  callback?: function,
)
: Promise<ZoomSettings>

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

พารามิเตอร์

  • tabId

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

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

  • callback

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

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

    (zoomSettings: ZoomSettings) => void

    • zoomSettings

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

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

  • Promise<ZoomSettings>

    Chrome 88 ขึ้นไป

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

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

goBack()

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

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

พารามิเตอร์

  • tabId

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

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

  • callback

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

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

    () => void

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

  • Promise<void>

    Chrome 88 ขึ้นไป

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

goForward()

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

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

พารามิเตอร์

  • tabId

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

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

  • callback

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

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

    () => void

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

  • Promise<void>

    Chrome 88 ขึ้นไป

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

group()

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

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

พารามิเตอร์

  • ตัวเลือก

    ออบเจ็กต์

    • createProperties

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

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

      • windowId

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

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

    • groupId

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

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

    • tabIds

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

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

  • callback

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

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

    (groupId: number) => void

    • groupId

      ตัวเลข

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

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

  • Promise<หมายเลข>

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

highlight()

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

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

พารามิเตอร์

  • highlightInfo

    ออบเจ็กต์

    • tabs

      number | number[]

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

    • windowId

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

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

  • callback

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

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

    (window: Window) => void

    • หน้าต่าง

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

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

  • Chrome 88 ขึ้นไป

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

insertCSS()

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

แทนที่โดย scripting.insertCSS ใน Manifest V3

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

พารามิเตอร์

  • tabId

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

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

  • รายละเอียด

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

  • callback

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

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

    () => void

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

  • Promise<void>

    Chrome 88 ขึ้นไป

    จะทำงานเมื่อแทรก CSS ทั้งหมดแล้ว

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

move()

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

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

พารามิเตอร์

  • tabIds

    number | number[]

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

  • moveProperties

    ออบเจ็กต์

    • ดัชนี

      ตัวเลข

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

    • windowId

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

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

  • callback

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

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

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

    • tabs

      Tab | Tab[]

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

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

  • Promise<Tab | Tab[]>

    Chrome 88 ขึ้นไป

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

query()

Promise
chrome.tabs.query(
  queryInfo: object,
  callback?: function,
)
: 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" หรือสิทธิ์ของโฮสต์สำหรับหน้าเว็บ

    • URL

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

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

    • windowId

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

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

    • windowType

      WindowType ไม่บังคับ

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

  • callback

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

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

    (result: Tab[]) => void

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

  • Promise<Tab[]>

    Chrome 88 ขึ้นไป

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

reload()

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

โหลดแท็บซ้ำ

พารามิเตอร์

  • tabId

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

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

  • reloadProperties

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

    • bypassCache

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

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

  • callback

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

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

    () => void

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

  • Promise<void>

    Chrome 88 ขึ้นไป

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

remove()

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

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

พารามิเตอร์

  • tabIds

    number | number[]

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

  • callback

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

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

    () => void

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

  • Promise<void>

    Chrome 88 ขึ้นไป

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

removeCSS()

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

แทนที่โดย scripting.removeCSS ใน Manifest V3

นำ CSS ออกจากหน้าที่ก่อนหน้านี้มีการแทรกโดยการเรียกใช้ scripting.insertCSS

พารามิเตอร์

  • tabId

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

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

  • รายละเอียด

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

  • callback

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

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

    () => void

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

  • Promise<void>

    Chrome 88 ขึ้นไป

    แก้ไขเมื่อนำ CSS ทั้งหมดออกแล้ว

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

sendMessage()

Promise
chrome.tabs.sendMessage(
  tabId: number,
  message: any,
  options?: object,
  callback?: function,
)
: Promise<any>

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

พารามิเตอร์

  • tabId

    ตัวเลข

  • ข้อความ

    ใดๆ

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

  • ตัวเลือก

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

    • documentId

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

      Chrome 106 ขึ้นไป

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

    • frameId

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

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

  • callback

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

    Chrome 99 ขึ้นไป

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

    (response: any) => void

    • การตอบกลับ

      ใดๆ

      ออบเจ็กต์การตอบกลับ JSON ที่ตัวแฮนเดิลของข้อความส่ง

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

  • Promise<any>

    Chrome 99 ขึ้นไป

    Promise ที่จะได้รับการแก้ไขด้วยการตอบกลับจาก Content Script หากเกิดข้อผิดพลาดขณะเชื่อมต่อกับแท็บที่ระบุ ระบบจะปฏิเสธ Promise

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

sendRequest()

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

โปรดใช้ runtime.sendMessage

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

พารามิเตอร์

  • tabId

    ตัวเลข

  • ส่งคำขอ

    ใดๆ

  • callback

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

    Chrome 99 ขึ้นไป

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

    (response: any) => void

    • การตอบกลับ

      ใดๆ

      ออบเจ็กต์การตอบกลับ JSON ที่ตัวแฮนเดิลของคำขอส่ง หากเกิดข้อผิดพลาดขณะเชื่อมต่อกับแท็บที่ระบุ ระบบจะปฏิเสธ Promise

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

  • Promise<any>

    Chrome 99 ขึ้นไป

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

setZoom()

Promise
chrome.tabs.setZoom(
  tabId?: number,
  zoomFactor: number,
  callback?: function,
)
: Promise<void>

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

พารามิเตอร์

  • tabId

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

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

  • zoomFactor

    ตัวเลข

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

  • callback

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

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

    () => void

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

  • Promise<void>

    Chrome 88 ขึ้นไป

    แก้ไขหลังจากเปลี่ยนปัจจัยการซูมแล้ว

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

setZoomSettings()

Promise
chrome.tabs.setZoomSettings(
  tabId?: number,
  zoomSettings: ZoomSettings,
  callback?: function,
)
: Promise<void>

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

พารามิเตอร์

  • tabId

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

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

  • zoomSettings

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

  • callback

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

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

    () => void

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

  • Promise<void>

    Chrome 88 ขึ้นไป

    แก้ไขได้หลังจากเปลี่ยนการตั้งค่าการซูม

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

ungroup()

Promise Chrome 88 ขึ้นไป
chrome.tabs.ungroup(
  tabIds: number | [number, ...number[]],
  callback?: function,
)
: Promise<void>

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

พารามิเตอร์

  • tabIds

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

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

  • callback

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

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

    () => void

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

  • Promise<void>

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

unsplit()

Promise Chrome 155 ขึ้นไป
chrome.tabs.unsplit(
  splitViewId: number,
  callback?: function,
)
: Promise<void>

แยกแท็บในมุมมองแบบแยกเป็นแท็บอิสระ

พารามิเตอร์

  • splitViewId

    ตัวเลข

    รหัสของมุมมองแบบแยกที่จะแยก

  • callback

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

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

    () => void

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

  • Promise<void>

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

update()

Promise
chrome.tabs.update(
  tabId?: number,
  updateProperties: object,
  callback?: function,
)
: Promise<Tab | undefined>

แก้ไขพร็อพเพอร์ตี้ของแท็บ ระบบจะไม่แก้ไขพร็อพเพอร์ตี้ที่ไม่ได้ระบุไว้ใน updateProperties

พารามิเตอร์

  • tabId

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

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

  • updateProperties

    ออบเจ็กต์

    • ใช้งาน

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

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

    • autoDiscardable

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

      Chrome 54 ขึ้นไป

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

    • ไฮไลต์ไว้

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

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

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

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

      Chrome 45 ขึ้นไป

      ควรงดเสียงแท็บหรือไม่

    • openerTabId

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

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

    • ตรึงอยู่

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

      ควรกดปุ่มแท็บหรือไม่

    • เลือกแล้ว

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

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

      โปรดใช้ highlighted

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

    • URL

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

      URL ที่จะไปยังแท็บ ระบบไม่รองรับ URL ของ JavaScript ให้ใช้ scripting.executeScript แทน

  • callback

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

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

    (tab?: Tab) => void

    • แท็บ

      แท็บ ไม่บังคับ

      รายละเอียดเกี่ยวกับแท็บที่อัปเดต พร็อพเพอร์ตี้ url, pendingUrl, title และ favIconUrl จะรวมอยู่ในออบเจ็กต์ tabs.Tab ก็ต่อเมื่อส่วนขยายมีสิทธิ์ "tabs" หรือมีสิทธิ์เข้าถึงโฮสต์สำหรับหน้าเว็บ

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

  • Promise<Tab | undefined>

    Chrome 88 ขึ้นไป

    ระบบรองรับเฉพาะ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

กิจกรรม

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

        number[]

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

      • windowId

        ตัวเลข

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

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

      ตัวเลข

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

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

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

      • ค้าง

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

        Chrome 132 ขึ้นไป

        สถานะใหม่ที่หยุดทำงานของแท็บ

      • groupId

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

        Chrome 88 ขึ้นไป

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

      • mutedInfo

        MutedInfo ไม่บังคับ

        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