chrome.tabs

Mô tả

Sử dụng API chrome.tabs để tương tác với hệ thống thẻ của trình duyệt. Bạn có thể sử dụng API này để tạo, sửa đổi và sắp xếp lại các thẻ trong trình duyệt.

Tổng quan

Tabs API không chỉ cung cấp các tính năng để thao tác và quản lý thẻ, mà còn có thể phát hiện ngôn ngữ của thẻ, chụp ảnh chụp màn hìnhgiao tiếp với tập lệnh nội dung của thẻ.

Quyền

Hầu hết các tính năng đều không yêu cầu quyền nào để sử dụng. Ví dụ: tạo thẻ mới, tải lại thẻ, chuyển đến một URL khác, v.v.

Có 3 quyền mà nhà phát triển cần lưu ý khi làm việc với Tabs API.

Quyền "thẻ"
Quyền này không cấp quyền truy cập vào không gian tên chrome.tabs. Thay vào đó, API này cấp cho một tiện ích khả năng gọi tabs.query() dựa trên 4 thuộc tính nhạy cảm trên các thực thể tabs.Tab: url, pendingUrl, titlefavIconUrl.
Quyền của máy chủ
Quyền của máy chủ cho phép tiện ích đọc và truy vấn 4 thuộc tính tabs.Tab nhạy cảm của thẻ trùng khớp. Các thẻ này cũng có thể tương tác trực tiếp với các thẻ trùng khớp bằng các phương thức như tabs.captureVisibleTab(), tabs.executeScript(), tabs.insertCSS()tabs.removeCSS().
Quyền "activeTab"
activeTab cấp cho tiện ích quyền lưu trữ tạm thời cho thẻ hiện tại để phản hồi lệnh gọi của người dùng. Không giống như quyền của máy chủ lưu trữ, activeTab không kích hoạt cảnh báo nào.

Tệp kê khai

Sau đây là ví dụ về cách khai báo từng quyền trong manifest:

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

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

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

Trường hợp sử dụng

Các phần sau đây minh hoạ một số trường hợp sử dụng phổ biến.

Mở trang tiện ích trong một thẻ mới

Một mẫu phổ biến cho các tiện ích là mở trang giới thiệu trong một thẻ mới khi cài đặt tiện ích. Ví dụ sau đây cho thấy cách thực hiện việc này.

background.js:

chrome.runtime.onInstalled.addListener(({reason}) => {
  if (reason === 'install') {
    chrome.tabs.create({
      url: "onboarding.html"
    });
  }
});

Lấy thẻ hiện tại

Ví dụ này minh hoạ cách worker dịch vụ của tiện ích có thể truy xuất thẻ đang hoạt động từ cửa sổ đang được lấy tiêu điểm (hoặc cửa sổ được lấy tiêu điểm gần đây nhất, nếu không có cửa sổ Chrome nào được lấy tiêu điểm). Thẻ này thường được coi là thẻ hiện tại của người dùng.

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

Tắt tiếng thẻ đã chỉ định

Ví dụ này cho thấy cách một tiện ích có thể bật/tắt trạng thái tắt tiếng cho một thẻ nhất định.

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

Di chuyển thẻ hiện tại đến vị trí đầu tiên khi nhấp vào

Ví dụ này cho thấy cách di chuyển một thẻ trong khi thao tác kéo có thể đang diễn ra hoặc không. Mặc dù ví dụ này sử dụng chrome.tabs.move, nhưng bạn có thể sử dụng cùng một mẫu chờ cho các lệnh gọi khác sửa đổi thẻ trong khi thao tác kéo đang diễn ra.

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

Truyền thông báo đến tập lệnh nội dung của thẻ đã chọn

Ví dụ này minh hoạ cách worker dịch vụ của một tiện ích có thể giao tiếp với tập lệnh nội dung trong các thẻ trình duyệt cụ thể bằng cách sử dụng 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.
}

Ví dụ về phần mở rộng

Để xem thêm các bản minh hoạ về tiện ích Tabs API, hãy khám phá bất kỳ nội dung nào sau đây:

Loại

MutedInfo

Chrome 46 trở lên

Trạng thái tắt tiếng của thẻ và lý do thay đổi trạng thái gần đây nhất.

Thuộc tính

  • extensionId

    chuỗi không bắt buộc

    Mã của phần mở rộng đã thay đổi trạng thái tắt tiếng. Không được đặt nếu phần mở rộng không phải là lý do trạng thái tắt tiếng thay đổi gần đây nhất.

  • đã tắt tiếng

    boolean

    Thẻ có bị tắt tiếng (không phát được âm thanh) hay không. Thẻ có thể bị tắt tiếng ngay cả khi chưa phát hoặc không phát âm thanh. Tương đương với việc chỉ báo âm thanh "tắt tiếng" có hiển thị hay không.

  • lý do

    MutedInfoReason không bắt buộc

    Lý do thẻ bị tắt tiếng hoặc bật tiếng. Không được đặt nếu trạng thái tắt tiếng của thẻ chưa bao giờ thay đổi.

MutedInfoReason

Chrome 46 trở lên

Một sự kiện đã gây ra thay đổi trạng thái tắt tiếng.

Enum

"user"
Một hành động nhập của người dùng đã đặt trạng thái tắt tiếng.

"capture"
Bắt đầu chụp thẻ, buộc thay đổi trạng thái tắt tiếng.

"extension"
Một tiện ích, được xác định bằng trường extensionId, đặt trạng thái tắt tiếng.

Tab

Thuộc tính

  • hoạt động

    boolean

    Liệu thẻ có đang hoạt động trong cửa sổ hay không. Không nhất thiết là cửa sổ được lấy tiêu điểm.

  • audible

    boolean không bắt buộc

    Chrome 45 trở lên

    Liệu thẻ đó có phát ra âm thanh trong vài giây qua hay không (nhưng có thể bạn không nghe thấy nếu thẻ đó cũng bị tắt tiếng). Tương đương với việc chỉ báo "âm thanh loa" có hiển thị hay không.

  • autoDiscardable

    boolean

    Chrome 54 trở lên

    Liệu trình duyệt có thể tự động loại bỏ thẻ khi tài nguyên sắp hết hay không.

  • đã hủy

    boolean

    Chrome 54 trở lên

    Liệu thẻ có bị loại bỏ hay không. Thẻ bị loại bỏ là thẻ có nội dung đã được tải xuống bộ nhớ nhưng vẫn hiển thị trong dải thẻ. Nội dung của thẻ sẽ được tải lại vào lần tiếp theo thẻ được kích hoạt.

  • favIconUrl

    chuỗi không bắt buộc

    URL của biểu tượng trang web của thẻ. Thuộc tính này chỉ xuất hiện nếu tệp kê khai của tiện ích có quyền "tabs". Giá trị này cũng có thể là một chuỗi trống nếu thẻ đang tải.

  • bị đóng băng

    boolean

    Đang chờ xử lý

    Thẻ có bị treo hay không. Thẻ bị khoá không thể thực thi các tác vụ, bao gồm cả trình xử lý sự kiện hoặc bộ hẹn giờ. Thẻ này xuất hiện trong dải thẻ và nội dung của thẻ được tải trong bộ nhớ. Tài khoản sẽ được huỷ trạng thái đóng băng khi kích hoạt.

  • groupId

    số

    Chrome 88 trở lên

    Mã của nhóm chứa thẻ.

  • độ cao

    số không bắt buộc

    Chiều cao của thẻ tính bằng pixel.

  • được làm nổi bật

    boolean

    Liệu thẻ có được làm nổi bật hay không.

  • id

    số không bắt buộc

    Mã của thẻ. Mã thẻ là duy nhất trong một phiên trình duyệt. Trong một số trường hợp, thẻ có thể không được chỉ định mã nhận dạng; ví dụ: khi truy vấn các thẻ nước ngoài bằng API sessions, trong trường hợp này có thể có mã phiên. Bạn cũng có thể đặt mã thẻ thành chrome.tabs.TAB_ID_NONE cho các ứng dụng và cửa sổ công cụ phát triển.

  • ẩn danh

    boolean

    Liệu thẻ có nằm trong cửa sổ ẩn danh hay không.

  • index

    số

    Chỉ mục dựa trên 0 của thẻ trong cửa sổ.

  • lastAccessed

    số

    Chrome 121 trở lên

    Lần truy cập gần đây nhất vào thẻ dưới dạng số mili giây kể từ thời gian bắt đầu của hệ thống.

  • mutedInfo

    MutedInfo không bắt buộc

    Chrome 46 trở lên

    Trạng thái tắt tiếng của thẻ và lý do thay đổi trạng thái gần đây nhất.

  • openerTabId

    số không bắt buộc

    Mã của thẻ đã mở thẻ này, nếu có. Thuộc tính này chỉ xuất hiện nếu thẻ trình mở vẫn tồn tại.

  • pendingUrl

    chuỗi không bắt buộc

    Chrome 79 trở lên

    URL mà thẻ đang chuyển đến, trước khi được xác nhận. Thuộc tính này chỉ xuất hiện nếu tệp kê khai của tiện ích bao gồm quyền "tabs" và có một thao tác điều hướng đang chờ xử lý.

  • được ghim

    boolean

    Liệu thẻ có được ghim hay không.

  • đã chọn

    boolean

    Không dùng nữa

    Vui lòng sử dụng tabs.Tab.highlighted.

    Liệu thẻ có được chọn hay không.

  • sessionId

    chuỗi không bắt buộc

    Mã phiên dùng để xác định riêng một thẻ lấy được từ API sessions.

  • trạng thái

    TabStatus không bắt buộc

    Trạng thái tải của thẻ.

  • tiêu đề

    chuỗi không bắt buộc

    Tiêu đề của thẻ. Thuộc tính này chỉ xuất hiện nếu tệp kê khai của tiện ích có quyền "tabs".

  • url

    chuỗi không bắt buộc

    URL đã cam kết gần đây nhất của khung chính của thẻ. Thuộc tính này chỉ xuất hiện nếu tệp kê khai của tiện ích bao gồm quyền "tabs" và có thể là một chuỗi trống nếu thẻ chưa được xác nhận. Xem thêm Tab.pendingUrl.

  • chiều rộng

    số không bắt buộc

    Chiều rộng của thẻ tính bằng pixel.

  • windowId

    số

    Mã nhận dạng của cửa sổ chứa thẻ.

TabStatus

Chrome 44 trở lên

Trạng thái tải của thẻ.

Enum

"unloaded"

"đang tải"

"complete"

WindowType

Chrome 44 trở lên

Loại cửa sổ.

Enum

"bình thường"

"popup"

"panel"

"app"

"devtools"

ZoomSettings

Xác định cách xử lý các thay đổi về mức thu phóng trong một thẻ và ở phạm vi nào.

Thuộc tính

  • defaultZoomFactor

    số không bắt buộc

    Chrome 43 trở lên

    Dùng để trả về mức thu phóng mặc định cho thẻ hiện tại trong các lệnh gọi đến tabs.getZoomSettings.

  • chế độ

    ZoomSettingsMode không bắt buộc

    Xác định cách xử lý các thay đổi về thu phóng, tức là thực thể nào chịu trách nhiệm về tỷ lệ thực tế của trang; mặc định là automatic.

  • phạm vi

    ZoomSettingsScope không bắt buộc

    Xác định xem các thay đổi về mức thu phóng có duy trì cho nguồn gốc của trang hay chỉ có hiệu lực trong thẻ này; mặc định là per-origin khi ở chế độ automaticper-tab nếu không.

ZoomSettingsMode

Chrome 44 trở lên

Xác định cách xử lý các thay đổi về thu phóng, tức là thực thể nào chịu trách nhiệm về tỷ lệ thực tế của trang; mặc định là automatic.

Enum

"tự động"
Trình duyệt sẽ tự động xử lý các thay đổi về chế độ thu phóng.

"manual"
Ghi đè chế độ tự động xử lý các thay đổi về thu phóng. Sự kiện onZoomChange vẫn sẽ được gửi và trách nhiệm của tiện ích là theo dõi sự kiện này và điều chỉnh tỷ lệ trang theo cách thủ công. Chế độ này không hỗ trợ tính năng thu phóng per-origin, do đó bỏ qua chế độ cài đặt thu phóng scope và giả định là per-tab.

"disabled"
Tắt tất cả chế độ thu phóng trong thẻ. Thẻ sẽ quay lại mức thu phóng mặc định và tất cả các thay đổi về mức thu phóng sẽ bị bỏ qua.

ZoomSettingsScope

Chrome 44 trở lên

Xác định xem các thay đổi về mức thu phóng có duy trì cho nguồn gốc của trang hay chỉ có hiệu lực trong thẻ này; mặc định là per-origin khi ở chế độ automaticper-tab nếu không.

Enum

"theo nguồn gốc"
Các thay đổi về chế độ thu phóng vẫn tồn tại trong nguồn gốc của trang được thu phóng, tức là tất cả các thẻ khác chuyển đến cùng một nguồn gốc đó cũng được thu phóng. Hơn nữa, các thay đổi về tỷ lệ thu phóng per-origin được lưu cùng với nguồn gốc, nghĩa là khi điều hướng đến các trang khác trong cùng một nguồn gốc, tất cả các trang đó đều được thu phóng theo cùng một tỷ lệ thu phóng. Phạm vi per-origin chỉ có trong chế độ automatic.

"trên mỗi thẻ"
Các thay đổi về mức thu phóng chỉ có hiệu lực trong thẻ này và các thay đổi về mức thu phóng trong các thẻ khác không ảnh hưởng đến mức thu phóng của thẻ này. Ngoài ra, các thay đổi về mức thu phóng per-tab sẽ được đặt lại khi điều hướng; việc điều hướng một thẻ luôn tải các trang bằng hệ số thu phóng per-origin.

Thuộc tính

MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND

Chrome 92 trở lên

Số lần tối đa có thể gọi captureVisibleTab mỗi giây. captureVisibleTab tốn kém và không nên được gọi quá thường xuyên.

Giá trị

2

TAB_ID_NONE

Chrome 46 trở lên

Mã nhận dạng thể hiện việc không có thẻ trình duyệt.

Giá trị

-1

TAB_INDEX_NONE

Chrome 123 trở lên

Chỉ mục thể hiện việc không có chỉ mục thẻ trong tab_strip.

Giá trị

-1

Phương thức

captureVisibleTab()

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

Ghi lại khu vực hiển thị của thẻ đang hoạt động trong cửa sổ đã chỉ định. Để gọi phương thức này, tiện ích phải có quyền <all_urls> hoặc quyền activeTab. Ngoài những trang web mà tiện ích thường có thể truy cập, phương thức này cho phép tiện ích ghi lại các trang web nhạy cảm bị hạn chế, bao gồm cả các trang chrome:-scheme, các trang của tiện ích khác và URL data:. Bạn chỉ có thể ghi lại những trang web nhạy cảm này bằng quyền activeTab. Bạn chỉ có thể thu thập URL của tệp nếu tiện ích đã được cấp quyền truy cập vào tệp.

Tham số

  • windowId

    số không bắt buộc

    Cửa sổ mục tiêu. Mặc định là cửa sổ hiện tại.

  • tùy chọn

    ImageDetails không bắt buộc

  • lệnh gọi lại

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    (dataUrl: string) => void

    • dataUrl

      chuỗi

      URL dữ liệu mã hoá hình ảnh của khu vực hiển thị của thẻ đã chụp. Có thể được chỉ định cho thuộc tính "src" của phần tử img HTML để hiển thị.

Giá trị trả về

  • Promise<string>

    Chrome 88 trở lên

    Lời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

connect()

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

Kết nối với(các) tập lệnh nội dung trong thẻ đã chỉ định. Sự kiện runtime.onConnect được kích hoạt trong mỗi tập lệnh nội dung chạy trong thẻ đã chỉ định cho tiện ích hiện tại. Để biết thêm thông tin chi tiết, hãy xem phần Thông báo qua tập lệnh nội dung.

Tham số

  • tabId

    số

  • connectInfo

    đối tượng không bắt buộc

    • documentId

      chuỗi không bắt buộc

      Chrome 106 trở lên

      Mở một cổng đến một tài liệu cụ thể được xác định bằng documentId thay vì tất cả các khung trong thẻ.

    • frameId

      số không bắt buộc

      Mở cổng đến một khung cụ thể được xác định bằng frameId thay vì tất cả khung trong thẻ.

    • tên

      chuỗi không bắt buộc

      Được truyền vào onConnect cho các tập lệnh nội dung đang nghe sự kiện kết nối.

Giá trị trả về

  • Cổng có thể dùng để giao tiếp với các tập lệnh nội dung đang chạy trong thẻ đã chỉ định. Sự kiện runtime.Port của cổng sẽ được kích hoạt nếu thẻ đóng hoặc không tồn tại.

create()

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

Tạo một thẻ mới.

Tham số

  • createProperties

    đối tượng

    • hoạt động

      boolean không bắt buộc

      Liệu thẻ có trở thành thẻ đang hoạt động trong cửa sổ hay không. Không ảnh hưởng đến việc cửa sổ có được lấy làm tiêu điểm hay không (xem windows.update). Mặc định là true.

    • index

      số không bắt buộc

      Vị trí của thẻ trong cửa sổ. Giá trị được cung cấp được cố định trong khoảng từ 0 đến số thẻ trong cửa sổ.

    • openerTabId

      số không bắt buộc

      Mã của thẻ đã mở thẻ này. Nếu được chỉ định, thẻ trình mở phải nằm trong cùng một cửa sổ với thẻ mới tạo.

    • được ghim

      boolean không bắt buộc

      Liệu thẻ có được ghim hay không. Mặc định là false.

    • đã chọn

      boolean không bắt buộc

      Không dùng nữa

      Vui lòng sử dụng trạng thái đang hoạt động.

      Liệu thẻ có trở thành thẻ đã chọn trong cửa sổ hay không. Mặc định là true.

    • url

      chuỗi không bắt buộc

      URL để điều hướng thẻ ban đầu. URL đủ điều kiện phải bao gồm một giao thức (tức là "http://www.google.com", chứ không phải "www.google.com"). URL tương đối là URL tương ứng với trang hiện tại trong tiện ích. Mặc định là Trang thẻ mới.

    • windowId

      số không bắt buộc

      Cửa sổ để tạo thẻ mới. Mặc định là cửa sổ hiện tại.

  • lệnh gọi lại

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    (tab: Tab) => void

    • phím tab

      Thẻ đã tạo.

Giá trị trả về

  • Promise<Tab>

    Chrome 88 trở lên

    Lời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

detectLanguage()

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

Phát hiện ngôn ngữ chính của nội dung trong một thẻ.

Tham số

  • tabId

    số không bắt buộc

    Mặc định là thẻ đang hoạt động của cửa sổ hiện tại.

  • lệnh gọi lại

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    (language: string) => void

    • language

      chuỗi

      Mã ngôn ngữ ISO như en hoặc fr. Để xem danh sách đầy đủ các ngôn ngữ được phương thức này hỗ trợ, hãy xem kLanguageInfoTable. Các cột thứ hai đến thứ tư được kiểm tra và giá trị đầu tiên không phải NULL sẽ được trả về, ngoại trừ tiếng Trung giản thể, trong đó zh-CN sẽ được trả về. Đối với ngôn ngữ không xác định/không xác định, und sẽ được trả về.

Giá trị trả về

  • Promise<string>

    Chrome 88 trở lên

    Lời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

discard()

Lời hứa Chrome 54 trở lên
chrome.tabs.discard(
  tabId?: number,
  callback?: function,
)

Loại bỏ một thẻ khỏi bộ nhớ. Các thẻ đã loại bỏ vẫn hiển thị trên dải thẻ và được tải lại khi được kích hoạt.

Tham số

  • tabId

    số không bắt buộc

    Mã của thẻ sẽ bị loại bỏ. Nếu được chỉ định, thẻ sẽ bị loại bỏ trừ phi thẻ đó đang hoạt động hoặc đã bị loại bỏ. Nếu bạn bỏ qua, trình duyệt sẽ loại bỏ thẻ ít quan trọng nhất. Thao tác này có thể không thành công nếu không có thẻ nào có thể loại bỏ.

  • lệnh gọi lại

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    (tab?: Tab) => void

    • phím tab

      Tab không bắt buộc

      Thẻ đã loại bỏ, nếu thẻ đó đã được loại bỏ thành công; không xác định nếu không.

Giá trị trả về

  • Promise<Tab | undefined>

    Chrome 88 trở lên

    Lời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

duplicate()

Promise
chrome.tabs.duplicate(
  tabId: number,
  callback?: function,
)

Sao chép một thẻ.

Tham số

  • tabId

    số

    Mã của thẻ cần sao chép.

  • lệnh gọi lại

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    (tab?: Tab) => void

    • phím tab

      Tab không bắt buộc

      Thông tin chi tiết về thẻ trùng lặp. Đối tượng tabs.Tab không chứa url, pendingUrl, titlefavIconUrl nếu bạn chưa yêu cầu quyền "tabs".

Giá trị trả về

  • Promise<Tab | undefined>

    Chrome 88 trở lên

    Lời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

executeScript()

Promise &leq; MV2 Không dùng nữa kể từ Chrome 91
chrome.tabs.executeScript(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)

Được thay thế bằng scripting.executeScript trong Manifest V3.

Chèn mã JavaScript vào một trang. Để biết thông tin chi tiết, hãy xem phần chèn theo phương thức lập trình trong tài liệu về tập lệnh nội dung.

Tham số

  • tabId

    số không bắt buộc

    Mã nhận dạng của thẻ để chạy tập lệnh; mặc định là thẻ đang hoạt động của cửa sổ hiện tại.

  • chi tiết

    Thông tin chi tiết về tập lệnh cần chạy. Bạn phải đặt mã hoặc thuộc tính tệp, nhưng không được đặt cả hai cùng lúc.

  • lệnh gọi lại

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    (result?: any[]) => void

    • kết quả

      any[] không bắt buộc

      Kết quả của tập lệnh trong mỗi khung được chèn.

Giá trị trả về

  • Promise<any[] | undefined>

    Chrome 88 trở lên

    Lời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

get()

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

Truy xuất thông tin chi tiết về thẻ đã chỉ định.

Tham số

  • tabId

    số

  • lệnh gọi lại

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    (tab: Tab) => void

    • phím tab

Giá trị trả về

  • Promise<Tab>

    Chrome 88 trở lên

    Lời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

getAllInWindow()

Lời hứa &leq; MV2 Không dùng nữa
chrome.tabs.getAllInWindow(
  windowId?: number,
  callback?: function,
)

Vui lòng sử dụng tabs.query {windowId: windowId}.

Lấy thông tin chi tiết về tất cả các thẻ trong cửa sổ đã chỉ định.

Tham số

  • windowId

    số không bắt buộc

    Mặc định là cửa sổ hiện tại.

  • lệnh gọi lại

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    (tabs: Tab[]) => void

Giá trị trả về

  • Promise<Tab[]>

    Chrome 88 trở lên

    Lời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

getCurrent()

Promise
chrome.tabs.getCurrent(
  callback?: function,
)

Lấy thẻ mà lệnh gọi tập lệnh này đang được thực hiện. Trả về undefined nếu được gọi từ ngữ cảnh không phải thẻ (ví dụ: trang nền hoặc chế độ xem bật lên).

Tham số

  • lệnh gọi lại

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    (tab?: Tab) => void

    • phím tab

      Tab không bắt buộc

Giá trị trả về

  • Promise<Tab | undefined>

    Chrome 88 trở lên

    Lời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

getSelected()

Lời hứa &leq; MV2 Không dùng nữa
chrome.tabs.getSelected(
  windowId?: number,
  callback?: function,
)

Vui lòng sử dụng tabs.query {active: true}.

Lấy thẻ được chọn trong cửa sổ đã chỉ định.

Tham số

  • windowId

    số không bắt buộc

    Mặc định là cửa sổ hiện tại.

  • lệnh gọi lại

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    (tab: Tab) => void

    • phím tab

Giá trị trả về

  • Promise<Tab>

    Chrome 88 trở lên

    Lời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

getZoom()

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

Lấy hệ số thu phóng hiện tại của một thẻ đã chỉ định.

Tham số

  • tabId

    số không bắt buộc

    Mã của thẻ để lấy hệ số thu phóng hiện tại; mặc định là thẻ đang hoạt động của cửa sổ hiện tại.

  • lệnh gọi lại

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    (zoomFactor: number) => void

    • zoomFactor

      số

      Hệ số thu phóng hiện tại của thẻ.

Giá trị trả về

  • Promise<số>

    Chrome 88 trở lên

    Lời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

getZoomSettings()

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

Lấy chế độ cài đặt thu phóng hiện tại của một thẻ đã chỉ định.

Tham số

  • tabId

    số không bắt buộc

    Mã nhận dạng của thẻ để lấy chế độ cài đặt thu phóng hiện tại; mặc định là thẻ đang hoạt động của cửa sổ hiện tại.

  • lệnh gọi lại

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    (zoomSettings: ZoomSettings) => void

    • zoomSettings

      Chế độ cài đặt thu phóng hiện tại của thẻ.

Giá trị trả về

  • Promise<ZoomSettings>

    Chrome 88 trở lên

    Lời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

goBack()

Lời hứa Chrome 72 trở lên
chrome.tabs.goBack(
  tabId?: number,
  callback?: function,
)

Quay lại trang trước (nếu có).

Tham số

  • tabId

    số không bắt buộc

    Mã của thẻ để quay lại; mặc định là thẻ đã chọn của cửa sổ hiện tại.

  • lệnh gọi lại

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    () => void

Giá trị trả về

  • Promise<void>

    Chrome 88 trở lên

    Lời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

goForward()

Lời hứa Chrome 72 trở lên
chrome.tabs.goForward(
  tabId?: number,
  callback?: function,
)

Chuyển đến trang tiếp theo (nếu có).

Tham số

  • tabId

    số không bắt buộc

    Mã nhận dạng của thẻ để di chuyển về phía trước; mặc định là thẻ đã chọn của cửa sổ hiện tại.

  • lệnh gọi lại

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    () => void

Giá trị trả về

  • Promise<void>

    Chrome 88 trở lên

    Lời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

group()

Lời hứa Chrome 88 trở lên
chrome.tabs.group(
  options: object,
  callback?: function,
)

Thêm một hoặc nhiều thẻ vào một nhóm đã chỉ định hoặc nếu không chỉ định nhóm nào, hãy thêm các thẻ đã cho vào một nhóm mới tạo.

Tham số

  • tùy chọn

    đối tượng

    • createProperties

      đối tượng không bắt buộc

      Cấu hình để tạo nhóm. Không thể sử dụng nếu groupId đã được chỉ định.

      • windowId

        số không bắt buộc

        Cửa sổ của nhóm mới. Giá trị mặc định là cửa sổ hiện tại.

    • groupId

      số không bắt buộc

      Mã của nhóm mà bạn muốn thêm thẻ vào. Nếu bạn không chỉ định, hệ thống sẽ tạo một nhóm mới.

    • tabIds

      số | [số, ...số[]]

      Mã thẻ hoặc danh sách mã thẻ cần thêm vào nhóm đã chỉ định.

  • lệnh gọi lại

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    (groupId: number) => void

    • groupId

      số

      Mã của nhóm mà các thẻ được thêm vào.

Giá trị trả về

  • Promise<số>

    Lời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

highlight()

Promise
chrome.tabs.highlight(
  highlightInfo: object,
  callback?: function,
)

Làm nổi bật các thẻ đã cho và tập trung vào thẻ đầu tiên của nhóm. Sẽ không làm gì nếu thẻ được chỉ định hiện đang hoạt động.

Tham số

  • highlightInfo

    đối tượng

    • thẻ

      số | số[]

      Một hoặc nhiều chỉ mục thẻ để làm nổi bật.

    • windowId

      số không bắt buộc

      Cửa sổ chứa các thẻ.

  • lệnh gọi lại

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    (window: Window) => void

    • cửa sổ

      Chứa thông tin chi tiết về cửa sổ có thẻ được làm nổi bật.

Giá trị trả về

  • Chrome 88 trở lên

    Lời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

insertCSS()

Promise &leq; MV2 Không dùng nữa kể từ Chrome 91
chrome.tabs.insertCSS(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)

Được thay thế bằng scripting.insertCSS trong Manifest V3.

Chèn CSS vào một trang. Bạn có thể xoá các kiểu được chèn bằng phương thức này bằng scripting.removeCSS. Để biết thông tin chi tiết, hãy xem phần chèn theo phương thức lập trình trong tài liệu về tập lệnh nội dung.

Tham số

  • tabId

    số không bắt buộc

    Mã nhận dạng của thẻ để chèn CSS; mặc định là thẻ đang hoạt động của cửa sổ hiện tại.

  • chi tiết

    Thông tin chi tiết về văn bản CSS cần chèn. Bạn phải đặt mã hoặc thuộc tính tệp, nhưng không được đặt cả hai cùng lúc.

  • lệnh gọi lại

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    () => void

Giá trị trả về

  • Promise<void>

    Chrome 88 trở lên

    Lời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

move()

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

Di chuyển một hoặc nhiều thẻ sang một vị trí mới trong cửa sổ hoặc sang một cửa sổ mới. Xin lưu ý rằng bạn chỉ có thể di chuyển các thẻ đến và đi từ các cửa sổ thông thường (window.type === "normal").

Tham số

  • tabIds

    số | số[]

    Mã thẻ hoặc danh sách mã thẻ cần di chuyển.

  • moveProperties

    đối tượng

    • index

      số

      Vị trí để di chuyển cửa sổ đến. Sử dụng -1 để đặt thẻ ở cuối cửa sổ.

    • windowId

      số không bắt buộc

      Mặc định là cửa sổ mà thẻ hiện đang ở.

  • lệnh gọi lại

    hàm không bắt buộc

    Tham số callback có dạng như sau:

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

    • thẻ

      Tab | Tab[]

      Thông tin chi tiết về các thẻ đã di chuyển.

Giá trị trả về

  • Promise<Tab | Tab[]>

    Chrome 88 trở lên

    Lời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

query()

Promise
chrome.tabs.query(
  queryInfo: object,
  callback?: function,
)

Lấy tất cả các thẻ có thuộc tính được chỉ định hoặc tất cả các thẻ nếu không có thuộc tính nào được chỉ định.

Tham số

  • queryInfo

    đối tượng

    • hoạt động

      boolean không bắt buộc

      Liệu các thẻ có đang hoạt động trong cửa sổ hay không.

    • audible

      boolean không bắt buộc

      Chrome 45 trở lên

      Liệu các thẻ có phát ra âm thanh hay không.

    • autoDiscardable

      boolean không bắt buộc

      Chrome 54 trở lên

      Liệu trình duyệt có thể tự động loại bỏ các thẻ khi tài nguyên sắp hết hay không.

    • currentWindow

      boolean không bắt buộc

      Liệu các thẻ có nằm trong cửa sổ hiện tại hay không.

    • đã hủy

      boolean không bắt buộc

      Chrome 54 trở lên

      Liệu các thẻ có bị loại bỏ hay không. Thẻ bị loại bỏ là thẻ có nội dung đã được tải xuống bộ nhớ nhưng vẫn hiển thị trong dải thẻ. Nội dung của thẻ sẽ được tải lại vào lần tiếp theo thẻ được kích hoạt.

    • bị đóng băng

      boolean không bắt buộc

      Đang chờ xử lý

      Liệu các thẻ có bị đóng băng hay không. Thẻ bị khoá không thể thực thi các tác vụ, bao gồm cả trình xử lý sự kiện hoặc bộ hẹn giờ. Thẻ này xuất hiện trong dải thẻ và nội dung của thẻ được tải trong bộ nhớ. Tài khoản sẽ được huỷ trạng thái đóng băng khi kích hoạt.

    • groupId

      số không bắt buộc

      Chrome 88 trở lên

      Mã nhận dạng của nhóm chứa các thẻ hoặc tabGroups.TAB_GROUP_ID_NONE đối với các thẻ không được nhóm.

    • được làm nổi bật

      boolean không bắt buộc

      Liệu các thẻ có được làm nổi bật hay không.

    • index

      số không bắt buộc

      Vị trí của các thẻ trong cửa sổ.

    • lastFocusedWindow

      boolean không bắt buộc

      Liệu các thẻ có nằm trong cửa sổ được lấy tiêu điểm gần đây nhất hay không.

    • đã tắt tiếng

      boolean không bắt buộc

      Chrome 45 trở lên

      Liệu các thẻ có bị tắt tiếng hay không.

    • được ghim

      boolean không bắt buộc

      Liệu các thẻ có được ghim hay không.

    • trạng thái

      TabStatus không bắt buộc

      Trạng thái tải thẻ.

    • tiêu đề

      chuỗi không bắt buộc

      So khớp tiêu đề trang với một mẫu. Thuộc tính này sẽ bị bỏ qua nếu tiện ích không có quyền "tabs".

    • url

      string | string[] không bắt buộc

      So khớp thẻ với một hoặc nhiều mẫu URL. Giá trị nhận dạng mảnh không khớp. Thuộc tính này sẽ bị bỏ qua nếu tiện ích không có quyền "tabs".

    • windowId

      số không bắt buộc

      Mã nhận dạng của cửa sổ mẹ hoặc windows.WINDOW_ID_CURRENT cho cửa sổ hiện tại.

    • windowType

      WindowType không bắt buộc

      Loại cửa sổ chứa các thẻ.

  • lệnh gọi lại

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    (result: Tab[]) => void

    • kết quả

      Tab[]

Giá trị trả về

  • Promise<Tab[]>

    Chrome 88 trở lên

    Lời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

reload()

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

Tải lại thẻ.

Tham số

  • tabId

    số không bắt buộc

    Mã nhận dạng của thẻ cần tải lại; mặc định là thẻ đã chọn của cửa sổ hiện tại.

  • reloadProperties

    đối tượng không bắt buộc

    • bypassCache

      boolean không bắt buộc

      Liệu có bỏ qua tính năng lưu vào bộ nhớ đệm cục bộ hay không. Giá trị mặc định là false.

  • lệnh gọi lại

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    () => void

Giá trị trả về

  • Promise<void>

    Chrome 88 trở lên

    Lời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

remove()

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

Đóng một hoặc nhiều thẻ.

Tham số

  • tabIds

    số | số[]

    Mã thẻ hoặc danh sách mã thẻ cần đóng.

  • lệnh gọi lại

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    () => void

Giá trị trả về

  • Promise<void>

    Chrome 88 trở lên

    Lời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

removeCSS()

Promise Chrome 87 trở lên &leq; MV2 Ngừng sử dụng kể từ Chrome 91
chrome.tabs.removeCSS(
  tabId?: number,
  details: DeleteInjectionDetails,
  callback?: function,
)

Được thay thế bằng scripting.removeCSS trong Manifest V3.

Xoá CSS của trang đã được chèn trước đó bằng lệnh gọi đến scripting.insertCSS.

Tham số

  • tabId

    số không bắt buộc

    Mã nhận dạng của thẻ cần xoá CSS; mặc định là thẻ đang hoạt động của cửa sổ hiện tại.

  • Thông tin chi tiết về văn bản CSS cần xoá. Bạn phải đặt mã hoặc thuộc tính tệp, nhưng không được đặt cả hai cùng lúc.

  • lệnh gọi lại

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    () => void

Giá trị trả về

  • Promise<void>

    Chrome 88 trở lên

    Lời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

sendMessage()

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

Gửi một thông báo đến(các) tập lệnh nội dung trong thẻ được chỉ định, với lệnh gọi lại không bắt buộc để chạy khi hệ thống gửi lại phản hồi. Sự kiện runtime.onMessage được kích hoạt trong mỗi tập lệnh nội dung chạy trong thẻ đã chỉ định cho tiện ích hiện tại.

Tham số

  • tabId

    số

  • tin nhắn

    bất kỳ

    Tin nhắn cần gửi. Thông báo này phải là một đối tượng có thể chuyển đổi sang JSON.

  • tùy chọn

    đối tượng không bắt buộc

    • documentId

      chuỗi không bắt buộc

      Chrome 106 trở lên

      Gửi thông báo đến một tài liệu cụ thể được xác định bằng documentId thay vì tất cả các khung trong thẻ.

    • frameId

      số không bắt buộc

      Gửi thông báo đến một khung cụ thể được xác định bằng frameId thay vì tất cả các khung trong thẻ.

  • lệnh gọi lại

    hàm không bắt buộc

    Chrome 99 trở lên

    Tham số callback có dạng như sau:

    (response: any) => void

    • phản hồi

      bất kỳ

      Đối tượng phản hồi JSON do trình xử lý của thông báo gửi. Nếu xảy ra lỗi trong khi kết nối với thẻ đã chỉ định, lệnh gọi lại sẽ được gọi mà không có đối số và runtime.lastError được đặt thành thông báo lỗi.

Giá trị trả về

  • Promise<any>

    Chrome 99 trở lên

    Lời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

sendRequest()

Lời hứa &leq; MV2 Không dùng nữa
chrome.tabs.sendRequest(
  tabId: number,
  request: any,
  callback?: function,
)

Vui lòng sử dụng runtime.sendMessage.

Gửi một yêu cầu duy nhất đến(các) tập lệnh nội dung trong thẻ đã chỉ định, với lệnh gọi lại không bắt buộc để chạy khi hệ thống gửi lại phản hồi. Sự kiện extension.onRequest được kích hoạt trong mỗi tập lệnh nội dung chạy trong thẻ đã chỉ định cho tiện ích hiện tại.

Tham số

  • tabId

    số

  • request

    bất kỳ

  • lệnh gọi lại

    hàm không bắt buộc

    Chrome 99 trở lên

    Tham số callback có dạng như sau:

    (response: any) => void

    • phản hồi

      bất kỳ

      Đối tượng phản hồi JSON do trình xử lý yêu cầu gửi. Nếu xảy ra lỗi trong khi kết nối với thẻ đã chỉ định, lệnh gọi lại sẽ được gọi mà không có đối số và runtime.lastError được đặt thành thông báo lỗi.

Giá trị trả về

  • Promise<any>

    Chrome 99 trở lên

    Lời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

setZoom()

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

Phóng to một thẻ đã chỉ định.

Tham số

  • tabId

    số không bắt buộc

    Mã của thẻ cần thu phóng; mặc định là thẻ đang hoạt động của cửa sổ hiện tại.

  • zoomFactor

    số

    Hệ số thu phóng mới. Giá trị 0 đặt thẻ thành hệ số thu phóng mặc định hiện tại. Các giá trị lớn hơn 0 chỉ định hệ số thu phóng (có thể không phải là mặc định) cho thẻ.

  • lệnh gọi lại

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    () => void

Giá trị trả về

  • Promise<void>

    Chrome 88 trở lên

    Lời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

setZoomSettings()

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

Đặt chế độ cài đặt thu phóng cho một thẻ cụ thể, xác định cách xử lý các thay đổi về thu phóng. Các chế độ cài đặt này sẽ được đặt lại về mặc định khi bạn di chuyển trong thẻ.

Tham số

  • tabId

    số không bắt buộc

    Mã nhận dạng của thẻ để thay đổi chế độ cài đặt thu phóng; mặc định là thẻ đang hoạt động của cửa sổ hiện tại.

  • zoomSettings

    Xác định cách xử lý các thay đổi về mức thu phóng và phạm vi xử lý.

  • lệnh gọi lại

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    () => void

Giá trị trả về

  • Promise<void>

    Chrome 88 trở lên

    Lời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

ungroup()

Lời hứa Chrome 88 trở lên
chrome.tabs.ungroup(
  tabIds: number | [number, ...number[]],
  callback?: function,
)

Xoá một hoặc nhiều thẻ khỏi nhóm tương ứng. Nếu có nhóm nào trống, nhóm đó sẽ bị xoá.

Tham số

  • tabIds

    số | [số, ...số[]]

    Mã thẻ hoặc danh sách mã thẻ cần xoá khỏi các nhóm tương ứng.

  • lệnh gọi lại

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    () => void

Giá trị trả về

  • Promise<void>

    Lời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

update()

Promise
chrome.tabs.update(
  tabId?: number,
  updateProperties: object,
  callback?: function,
)

Sửa đổi các thuộc tính của thẻ. Các thuộc tính không được chỉ định trong updateProperties sẽ không được sửa đổi.

Tham số

  • tabId

    số không bắt buộc

    Mặc định là thẻ đã chọn của cửa sổ hiện tại.

  • updateProperties

    đối tượng

    • hoạt động

      boolean không bắt buộc

      Liệu thẻ có đang hoạt động hay không. Không ảnh hưởng đến việc cửa sổ có được lấy tiêu điểm hay không (xem windows.update).

    • autoDiscardable

      boolean không bắt buộc

      Chrome 54 trở lên

      Liệu trình duyệt có tự động loại bỏ thẻ khi tài nguyên sắp hết hay không.

    • được làm nổi bật

      boolean không bắt buộc

      Thêm hoặc xoá thẻ khỏi lựa chọn hiện tại.

    • đã tắt tiếng

      boolean không bắt buộc

      Chrome 45 trở lên

      Liệu thẻ có bị tắt tiếng hay không.

    • openerTabId

      số không bắt buộc

      Mã của thẻ đã mở thẻ này. Nếu được chỉ định, thẻ trình mở phải nằm trong cùng một cửa sổ với thẻ này.

    • được ghim

      boolean không bắt buộc

      Liệu thẻ có được ghim hay không.

    • đã chọn

      boolean không bắt buộc

      Không dùng nữa

      Vui lòng sử dụng được làm nổi bật.

      Liệu thẻ có được chọn hay không.

    • url

      chuỗi không bắt buộc

      URL để điều hướng thẻ đến. URL JavaScript không được hỗ trợ; hãy sử dụng scripting.executeScript.

  • lệnh gọi lại

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    (tab?: Tab) => void

    • phím tab

      Tab không bắt buộc

      Thông tin chi tiết về thẻ đã cập nhật. Đối tượng tabs.Tab không chứa url, pendingUrl, titlefavIconUrl nếu bạn chưa yêu cầu quyền "tabs".

Giá trị trả về

  • Promise<Tab | undefined>

    Chrome 88 trở lên

    Lời hứa chỉ được hỗ trợ cho Tệp kê khai V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

Sự kiện

onActivated

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

Kích hoạt khi thẻ đang hoạt động trong cửa sổ thay đổi. Xin lưu ý rằng URL của thẻ có thể chưa được đặt tại thời điểm sự kiện này kích hoạt, nhưng bạn có thể nghe các sự kiện onUpdated để được thông báo khi URL được đặt.

Tham số

  • lệnh gọi lại

    hàm

    Tham số callback có dạng như sau:

    (activeInfo: object) => void

    • activeInfo

      đối tượng

      • tabId

        số

        Mã của thẻ đã hoạt động.

      • windowId

        số

        Mã nhận dạng của cửa sổ mà thẻ đang hoạt động đã thay đổi bên trong.

onActiveChanged

&leq; MV2 Không dùng nữa
chrome.tabs.onActiveChanged.addListener(
  callback: function,
)

Vui lòng sử dụng tabs.onActivated.

Kích hoạt khi thẻ đã chọn trong cửa sổ thay đổi. Xin lưu ý rằng URL của thẻ có thể chưa được đặt tại thời điểm sự kiện này kích hoạt, nhưng bạn có thể nghe các sự kiện tabs.onUpdated để được thông báo khi URL được đặt.

Tham số

  • lệnh gọi lại

    hàm

    Tham số callback có dạng như sau:

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

    • tabId

      số

    • selectInfo

      đối tượng

      • windowId

        số

        Mã của cửa sổ mà thẻ đã chọn đã thay đổi bên trong.

onAttached

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

Được kích hoạt khi một thẻ được đính kèm vào một cửa sổ; ví dụ: vì thẻ đó đã được di chuyển giữa các cửa sổ.

Tham số

  • lệnh gọi lại

    hàm

    Tham số callback có dạng như sau:

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

    • tabId

      số

    • attachInfo

      đối tượng

      • newPosition

        số

      • newWindowId

        số

onCreated

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

Được kích hoạt khi tạo một thẻ. Xin lưu ý rằng URL của thẻ và tư cách thành viên nhóm thẻ có thể chưa được đặt tại thời điểm sự kiện này được kích hoạt, nhưng bạn có thể nghe sự kiện onUpdated để được thông báo khi URL được đặt hoặc thẻ được thêm vào nhóm thẻ.

Tham số

  • lệnh gọi lại

    hàm

    Tham số callback có dạng như sau:

    (tab: Tab) => void

    • phím tab

onDetached

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

Được kích hoạt khi một thẻ được tách khỏi cửa sổ; ví dụ: vì thẻ đó đã được di chuyển giữa các cửa sổ.

Tham số

  • lệnh gọi lại

    hàm

    Tham số callback có dạng như sau:

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

    • tabId

      số

    • detachInfo

      đối tượng

      • oldPosition

        số

      • oldWindowId

        số

onHighlightChanged

&leq; MV2 Không dùng nữa
chrome.tabs.onHighlightChanged.addListener(
  callback: function,
)

Vui lòng sử dụng tabs.onHighlighted.

Được kích hoạt khi các thẻ được làm nổi bật hoặc được chọn trong một cửa sổ thay đổi.

Tham số

  • lệnh gọi lại

    hàm

    Tham số callback có dạng như sau:

    (selectInfo: object) => void

    • selectInfo

      đối tượng

      • tabIds

        number[]

        Tất cả các thẻ được làm nổi bật trong cửa sổ.

      • windowId

        số

        Cửa sổ có các thẻ đã thay đổi.

onHighlighted

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

Được kích hoạt khi các thẻ được làm nổi bật hoặc được chọn trong một cửa sổ thay đổi.

Tham số

  • lệnh gọi lại

    hàm

    Tham số callback có dạng như sau:

    (highlightInfo: object) => void

    • highlightInfo

      đối tượng

      • tabIds

        number[]

        Tất cả các thẻ được làm nổi bật trong cửa sổ.

      • windowId

        số

        Cửa sổ có các thẻ đã thay đổi.

onMoved

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

Được kích hoạt khi một thẻ được di chuyển trong cửa sổ. Chỉ một sự kiện di chuyển được kích hoạt, đại diện cho thẻ mà người dùng trực tiếp di chuyển. Các sự kiện di chuyển không được kích hoạt cho các thẻ khác phải di chuyển để phản hồi thẻ được di chuyển theo cách thủ công. Sự kiện này không được kích hoạt khi một thẻ được di chuyển giữa các cửa sổ; để biết thông tin chi tiết, hãy xem tabs.onDetached.

Tham số

  • lệnh gọi lại

    hàm

    Tham số callback có dạng như sau:

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

    • tabId

      số

    • moveInfo

      đối tượng

      • fromIndex

        số

      • toIndex

        số

      • windowId

        số

onRemoved

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

Được kích hoạt khi một thẻ bị đóng.

Tham số

  • lệnh gọi lại

    hàm

    Tham số callback có dạng như sau:

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

    • tabId

      số

    • removeInfo

      đối tượng

      • isWindowClosing

        boolean

        Đúng khi thẻ bị đóng do cửa sổ mẹ bị đóng.

      • windowId

        số

        Cửa sổ có thẻ đã đóng.

onReplaced

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

Được kích hoạt khi một thẻ được thay thế bằng một thẻ khác do kết xuất trước hoặc tức thì.

Tham số

  • lệnh gọi lại

    hàm

    Tham số callback có dạng như sau:

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

    • addedTabId

      số

    • removedTabId

      số

onSelectionChanged

&leq; MV2 Không dùng nữa
chrome.tabs.onSelectionChanged.addListener(
  callback: function,
)

Vui lòng sử dụng tabs.onActivated.

Kích hoạt khi thẻ đã chọn trong cửa sổ thay đổi.

Tham số

  • lệnh gọi lại

    hàm

    Tham số callback có dạng như sau:

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

    • tabId

      số

    • selectInfo

      đối tượng

      • windowId

        số

        Mã của cửa sổ mà thẻ đã chọn đã thay đổi bên trong.

onUpdated

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

Được kích hoạt khi một thẻ được cập nhật.

Tham số

  • lệnh gọi lại

    hàm

    Tham số callback có dạng như sau:

    (tabId: number, changeInfo: object, tab: Tab) => void

    • tabId

      số

    • changeInfo

      đối tượng

      • audible

        boolean không bắt buộc

        Chrome 45 trở lên

        Trạng thái âm thanh mới của thẻ.

      • autoDiscardable

        boolean không bắt buộc

        Chrome 54 trở lên

        Trạng thái mới của thẻ có thể tự động loại bỏ.

      • đã hủy

        boolean không bắt buộc

        Chrome 54 trở lên

        Trạng thái mới của thẻ bị loại bỏ.

      • favIconUrl

        chuỗi không bắt buộc

        URL của biểu tượng trang web mới của thẻ.

      • bị đóng băng

        boolean không bắt buộc

        Đang chờ xử lý

        Trạng thái mới của thẻ bị khoá.

      • groupId

        số không bắt buộc

        Chrome 88 trở lên

        Nhóm mới của thẻ.

      • mutedInfo

        MutedInfo không bắt buộc

        Chrome 46 trở lên

        Trạng thái tắt tiếng mới của thẻ và lý do thay đổi.

      • được ghim

        boolean không bắt buộc

        Trạng thái mới của thẻ được ghim.

      • trạng thái

        TabStatus không bắt buộc

        Trạng thái tải của thẻ.

      • tiêu đề

        chuỗi không bắt buộc

        Chrome 48 trở lên

        Tiêu đề mới của thẻ.

      • url

        chuỗi không bắt buộc

        URL của thẻ nếu URL đó đã thay đổi.

    • phím tab

onZoomChange

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

Được kích hoạt khi phóng to một thẻ.

Tham số

  • lệnh gọi lại

    hàm

    Tham số callback có dạng như sau:

    (ZoomChangeInfo: object) => void

    • ZoomChangeInfo

      đối tượng

      • newZoomFactor

        số

      • oldZoomFactor

        số

      • tabId

        số

      • zoomSettings