chrome.tabs

Nội dung mô tả

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.

API Thẻ 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 cấp bất kỳ quyền nào để sử dụng. Ví dụ: tạo thẻ mới, tải lại thẻ, di 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 API Thẻ.

Quyền "tab" (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 đó, thư viện 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.

{
  "name": "My extension",
  ...
  "permissions": [
    "tabs"
  ],
  ...
}
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 một thẻ phù hợp. Người dùng 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().

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

activeTab cấp 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ủ, activeTab không kích hoạt cảnh báo.

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

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

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

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

Một quy trình phổ biến cho tiện ích là mở trang giới thiệu trong thẻ mới khi cài đặt tiện ích. Ví dụ sau 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"
    });
  }
});

Tải thẻ hiện tại

Ví dụ này minh hoạ cách trình chạy dịch vụ của một tiện ích có thể truy xuất thẻ đang hoạt động từ cửa sổ hiện đượ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ẻ được 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 biết cách di chuyển một thẻ khi thao tác kéo có thể đang 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 kéo.

  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 trình chạy 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 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ề tiện ích

Để xem thêm bản minh hoạ tiện ích API Thẻ, 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 cho lần 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 tiện ích đã thay đổi trạng thái tắt tiếng. Không đặt nếu một tiện ích không phải là lý do lần gần đây nhất trạng thái tắt tiếng thay đổi.

  • đã tắt tiếng

    boolean

    Thẻ có bị tắt tiếng (có ngăn phát âm thanh) hay không. Thẻ có thể bị tắt tiếng ngay cả khi thẻ chưa phát hoặc hiện 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 từng thay đổi.

MutedInfoReason

Chrome 46 trở lên

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

Liệt kê

"user"
Hành động đầu vào của người dùng đã đặt trạng thái tắt tiếng.

"capture"
Quá trình chụp thẻ đã bắt đầu, 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 có nghĩa 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ó tạo ra âm thanh trong vài giây vừa qua hay không (nhưng thẻ có thể không nghe thấy nếu bạn cũng 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 hủy 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ị huỷ hay không. Thẻ bị loại bỏ là thẻ có nội dung đã được huỷ tải khỏi bộ nhớ nhưng vẫn hiển thị trong thanh thẻ. Nội dung của thiết bị sẽ được tải lại vào lần kích hoạt tiếp theo.

  • 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 bao gồm quyền "tabs". Đó cũng có thể là một chuỗi trống nếu thẻ đang tải.

  • groupId

    number

    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

    Thẻ có được đánh dấu 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ã; 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 cửa sổ ứng dụng và công cụ cho nhà phát triển.

  • ẩn danh

    boolean

    Thẻ có đang ở trong cửa sổ ẩn danh hay không.

  • index

    number

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

  • lastAccessed

    số không bắt buộc

    Chrome 121 trở lên

    Lần gần đây nhất truy cập 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 (Thông tin ẩn danh) 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 cho lần 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 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 yêu cầu điều hướng đang chờ xử lý.

  • đã ghim

    boolean

    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 được dùng để xác định riêng biệt một thẻ thu được từ API sessions.

  • status

    TabStatus không bắt buộc

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

  • title

    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 bao gồm quyền "tabs".

  • url

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

    URL được cam kết cuối cùng trong 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

    number

    Mã của cửa sổ chứa thẻ.

TabStatus

Chrome 44 trở lên

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

Liệt kê

"loading"

WindowType

Chrome 44 trở lên

Loại cửa sổ.

Liệt kê

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

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 tab.getZoomSettings.

  • chế độ

    ZoomSettingsMode không bắt buộc

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

  • xác định phạm vi của thứ nguyên.

    ZoomSettingsScope không bắt buộc

    Xác định xem những thay đổi về thu phóng sẽ đượ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ế độ automatic và nếu không là per-tab.

ZoomSettingsMode

Chrome 44 trở lên

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

Liệt kê

"tự động"
Các thay đổi về thu phóng được trình duyệt xử lý tự động.

"manual"
Ghi đè quá trình xử lý tự động các thay đổi về mức thu phóng. Sự kiện onZoomChange sẽ vẫn được gửi đi và tiện ích có trách nhiệm 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ợ thu phóng per-origin nên sẽ bỏ qua chế độ cài đặt thu phóng scope và giả định per-tab.

"disabled"
Tắt tất cả tính năng thu phóng trong thẻ. Thẻ sẽ chuyển về mức thu phóng mặc định và mọi thay đổi bạn thử thu phóng sẽ bị bỏ qua.

ZoomSettingsScope

Chrome 44 trở lên

Xác định xem những thay đổi về thu phóng sẽ đượ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ế độ automatic và nếu không là per-tab.

Liệt kê

"per-origin"
Các thay đổi 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 điều hướng đến cùng nguồn gốc đó cũng được thu phóng. Ngoài ra, các thay đổi thu phóng per-origin được lưu theo điểm gốc, nghĩa là khi điều hướng đến các trang khác có cùng nguồn gốc, tất cả các thay đổi đó đều được thu phóng theo cùng một hệ số thu phóng. Phạm vi per-origin chỉ có ở chế độ automatic.

"mỗi thẻ"
Thay đổi về thu phóng chỉ có hiệu lực trong thẻ này và thay đổi thu phóng trong các thẻ khác không ảnh hưởng đến việc thu phóng của thẻ này. Ngoài ra, những thay đổi về thu phóng per-tab đượ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 với hệ số thu phóng per-origin tương ứng.

Thuộc tính

MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND

Chrome 92 trở lên

Số lần tối đa mà captureVisibleTab có thể được gọi 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ột mã đại diện cho việc không có thẻ trình duyệt.

Giá trị

-1

TAB_INDEX_NONE

Chrome 123 trở lên

Chỉ mục đại diện cho việc không có chỉ mục thẻ trong dải_ô_thẻ.

Giá trị

-1

Phương thức

captureVisibleTab()

Cam kết
chrome.tabs.captureVisibleTab(
  windowId?: number,
  options?: ImageDetails,
  callback?: function,
)

Chụp khu vực hiển thị của thẻ hiện đang hoạt động trong cửa sổ được 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 có thể truy cập bình thường, phương pháp này còn cho phép tiện ích chụp những trang web nhạy cảm bị hạn chế, bao gồm các trang chrome:-lược đồ, trang của các tiện ích khác và dữ liệu: URL. Các trang web nhạy cảm này chỉ có thể được ghi bằng quyền ActiveTab. URL của tệp chỉ có thể được ghi lại nếu tiện ích đã được cấp quyền truy cập vào tệp.

Thông số

  • windowId

    số không bắt buộc

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

  • tùy chọn

    ImageDetails không bắt buộc

  • số gọi lại

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

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

    (dataUrl: string)=>void

    • dataUrl

      string

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

Giá trị trả về

  • Hứa hẹn<string>

    Chrome 88 trở lên

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến 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ẻ được 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ẻ được 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 cho tập lệnh nội dung.

Thông số

  • tabId

    number

  • 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ở cổng đến một tài liệu cụ thể được xác định bằng documentId thay vì tất cả khung trong thẻ.

    • frameId

      số không bắt buộc

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

    • tên

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

      Được chuyển vào onConnect đối với các tập lệnh nội dung đang theo dõi 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ẻ được 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()

Cam kết
chrome.tabs.create(
  createProperties: object,
  callback?: function,
)

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

Thông 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 tiêu điểm hay không (xem windows.update). Giá trị mặc định là true.

    • index

      số không bắt buộc

      Vị trí mà thẻ cần nằm trong cửa sổ. Giá trị đã cung cấp được giới hạn 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ẻ mở phải ở trong cùng một cửa sổ với thẻ mới tạo.

    • đã ghim

      boolean không bắt buộc

      Liệu thẻ có nên đượ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 từ khoá đang hoạt động.

      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. Các URL đủ điều kiện phải bao gồm một lược đồ (tức là "http://www.google.com", chứ không phải "www.google.com"). URL tương đối so với trang hiện tại trong tiện ích. Giá trị mặc định là trang Thẻ mới.

    • windowId

      số không bắt buộc

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

  • số gọi lại

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

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

    (tab: Tab)=>void

    • tab

      Thẻ đã tạo.

Giá trị trả về

  • Promise<Tab>

    Chrome 88 trở lên

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

detectLanguage()

Cam kết
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ẻ.

Thông 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.

  • số gọi lại

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

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

    (language: string)=>void

    • language

      string

      Mã ngôn ngữ ISO như en hoặc fr. Để xem danh sách đầy đủ các ngôn ngữ mà phương thức này hỗ trợ, hãy xem kLanguageInfoTable. Cột thứ hai đến thứ tư được đánh dấu và giá trị đầu tiên không phải NULL sẽ được trả về, ngoại trừ tiếng Trung giản thể có zh-CN đượ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ề

  • Hứa hẹn<string>

    Chrome 88 trở lên

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

discard()

Cam kết Chrome 54 trở lên
chrome.tabs.discard(
  tabId?: number,
  callback?: function,
)

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

Thông 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ị huỷ trừ phi đang hoạt động hoặc đã bị huỷ. 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ỏ.

  • số gọi lại

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

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

    (tab?: Tab)=>void

    • tab

      Thẻ không bắt buộc

      Thẻ bị huỷ (nếu bị huỷ thành công); nếu không thì không xác định.

Giá trị trả về

  • Hứa hẹn<Tab|không xác định>

    Chrome 88 trở lên

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

duplicate()

Cam kết
chrome.tabs.duplicate(
  tabId: number,
  callback?: function,
)

Sao chép một thẻ.

Thông số

  • tabId

    number

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

  • số gọi lại

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

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

    (tab?: Tab)=>void

    • tab

      Thẻ 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 quyền "tabs" chưa được yêu cầu.

Giá trị trả về

  • Hứa hẹn<Tab|không xác định>

    Chrome 88 trở lên

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

executeScript()

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

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 có lập trình trong tài liệu tập lệnh nội dung.

Thông số

  • tabId

    số không bắt buộc

    Mã 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

    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 thể đặt cả hai cùng một lúc.

  • số gọi lại

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

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

    (result?: any[])=>void

    • kết quả

      bất kỳ[] 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ề

  • Hứa hẹn<bất kỳ[]|không xác định>

    Chrome 88 trở lên

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

get()

Cam kết
chrome.tabs.get(
  tabId: number,
  callback?: function,
)

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

Thông số

  • tabId

    number

  • số gọi lại

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

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

    (tab: Tab)=>void

Giá trị trả về

  • Promise<Tab>

    Chrome 88 trở lên

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

getAllInWindow()

Promise &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ổ được chỉ định.

Thông số

  • windowId

    số không bắt buộc

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

  • số gọi lại

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

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

    (tabs: Tab[])=>void

Giá trị trả về

  • Promise<Tab[]>

    Chrome 88 trở lên

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

getCurrent()

Cam kết
chrome.tabs.getCurrent(
  callback?: function,
)

Lấy thẻ mà từ đó 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 cửa sổ bật lên).

Thông số

  • số gọi lại

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

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

    (tab?: Tab)=>void

    • tab

      Thẻ không bắt buộc

Giá trị trả về

  • Hứa hẹn<Tab|không xác định>

    Chrome 88 trở lên

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

getSelected()

Promise &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ổ được chỉ định.

Thông số

  • windowId

    số không bắt buộc

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

  • số gọi lại

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

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

    (tab: Tab)=>void

Giá trị trả về

  • Promise<Tab>

    Chrome 88 trở lên

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

getZoom()

Cam kết
chrome.tabs.getZoom(
  tabId?: number,
  callback?: function,
)

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

Thông số

  • tabId

    số không bắt buộc

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

  • số gọi lại

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

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

    (zoomFactor: number)=>void

    • zoomFactor

      number

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

Giá trị trả về

  • Hứa hẹn<number>

    Chrome 88 trở lên

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

getZoomSettings()

Cam kết
chrome.tabs.getZoomSettings(
  tabId?: number,
  callback?: function,
)

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

Thông số

  • tabId

    số không bắt buộc

    Mã của thẻ dùng để 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.

  • số gọi lại

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

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

    (zoomSettings: ZoomSettings)=>void

    • zoomSettings

      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 được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

goBack()

Cam kết Chrome 72 trở lên
chrome.tabs.goBack(
  tabId?: number,
  callback?: function,
)

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

Thông số

  • tabId

    số không bắt buộc

    Mã của thẻ để điều hướng trở lại; mặc định là thẻ đã chọn của cửa sổ hiện tại.

  • số gọi lại

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

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

    ()=>void

Giá trị trả về

  • Promise<void>

    Chrome 88 trở lên

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

goForward()

Cam kết Chrome 72 trở lên
chrome.tabs.goForward(
  tabId?: number,
  callback?: function,
)

Chuyển sang trang tiếp theo, nếu có.

Thông số

  • tabId

    số không bắt buộc

    Mã của thẻ để điều hướng tiến; mặc định là thẻ đã chọn của cửa sổ hiện tại.

  • số gọi lại

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

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

    ()=>void

Giá trị trả về

  • Promise<void>

    Chrome 88 trở lên

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

group()

Cam kết 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 cụ thể, hoặc nếu không có nhóm nào được chỉ định, thì các thẻ đã cho sẽ được thêm vào một nhóm mới tạo.

Thông số

  • tùy chọn

    đối tượng

    • createProperties

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

      Cá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. Mặc định là cửa sổ hiện tại.

    • groupId

      số không bắt buộc

      Mã của nhóm để thêm thẻ. Nếu không chỉ định, một nhóm mới sẽ được tạo.

    • tabIds

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

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

  • số gọi lại

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

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

    (groupId: number)=>void

    • groupId

      number

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

Giá trị trả về

  • Hứa hẹn<number>

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

highlight()

Cam kết
chrome.tabs.highlight(
  highlightInfo: object,
  callback?: function,
)

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

Thông số

  • highlightInfo

    đối tượng

    • thẻ

      số|số[]

      Một hoặc nhiều chỉ mục thẻ cần đánh dấu.

    • windowId

      số không bắt buộc

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

  • số gọi lại

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

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

    (window: Window)=>void

    • cửa sổ

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

Giá trị trả về

  • Hứa hẹn<windows.Window>

    Chrome 88 trở lên

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

insertCSS()

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

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 có lập trình trong tài liệu tập lệnh nội dung.

Thông số

  • tabId

    số không bắt buộc

    Mã 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

    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 thể đặt cả hai cùng một lúc.

  • số gọi lại

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

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

    ()=>void

Giá trị trả về

  • Promise<void>

    Chrome 88 trở lên

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

move()

Cam kết
chrome.tabs.move(
  tabIds: number|number[],
  moveProperties: object,
  callback?: function,
)

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

Thông số

  • tabIds

    số|số[]

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

  • moveProperties

    đối tượng

    • index

      number

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

    • windowId

      số không bắt buộc

      Giá trị mặc định là cửa sổ đang mở thẻ.

  • số gọi lại

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

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

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

    • thẻ

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

Giá trị trả về

  • Hứa hẹn<Tab|Tab[]>

    Chrome 88 trở lên

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

query()

Cam kết
chrome.tabs.query(
  queryInfo: object,
  callback?: function,
)

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

Thông 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ó thể nghe được 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 hủy 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ị huỷ hay không. Thẻ bị loại bỏ là thẻ có nội dung đã được huỷ tải khỏi bộ nhớ nhưng vẫn hiển thị trong thanh thẻ. Nội dung của thiết bị sẽ được tải lại vào lần kích hoạt tiếp theo.

    • groupId

      số không bắt buộc

      Chrome 88 trở lên

      Mã của nhóm chứa các thẻ hoặc tabGroups.TAB_GROUP_ID_NONE đối với các thẻ chưa được nhóm.

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

      boolean không bắt buộc

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

    • index

      số không bắt buộc

      Vị trí của các thẻ bên 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.

    • đã ghim

      boolean không bắt buộc

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

    • status

      TabStatus không bắt buộc

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

    • title

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

      Khớp tiêu đề trang với 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[] optional

      So khớp các 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ã của cửa sổ mẹ hoặc biểu tượng windows.WINDOW_ID_CURRENT của 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ẻ.

  • số gọi lại

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

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

    (result: Tab[])=>void

Giá trị trả về

  • Promise<Tab[]>

    Chrome 88 trở lên

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

reload()

Cam kết
chrome.tabs.reload(
  tabId?: number,
  reloadProperties?: object,
  callback?: function,
)

Tải lại một thẻ.

Thông số

  • tabId

    số không bắt buộc

    Mã 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 chức năng lưu vào bộ nhớ đệm cục bộ hay không. Giá trị mặc định là false.

  • số gọi lại

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

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

    ()=>void

Giá trị trả về

  • Promise<void>

    Chrome 88 trở lên

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

remove()

Cam kết
chrome.tabs.remove(
  tabIds: number|number[],
  callback?: function,
)

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

Thông số

  • tabIds

    số|số[]

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

  • số gọi lại

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

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

    ()=>void

Giá trị trả về

  • Promise<void>

    Chrome 88 trở lên

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

removeCSS()

Lời hứa Chrome 87 trở lên &leq; MV2 Không dùng nữa kể từ Chrome 91
chrome.tabs.removeCSS(
  tabId?: number,
  details: DeleteInjectionDetails,
  callback?: function,
)

Thay thế bằng scripting.removeCSS trong Manifest V3.

Xoá khỏi một CSS trang trước đó đã được lệnh gọi đến scripting.insertCSS chèn vào.

Thông số

  • tabId

    số không bắt buộc

    Mã 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 thể đặt cả hai cùng một lúc.

  • số gọi lại

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

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

    ()=>void

Giá trị trả về

  • Promise<void>

    Chrome 88 trở lên

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

sendMessage()

Cam kết
chrome.tabs.sendMessage(
  tabId: number,
  message: any,
  options?: object,
  callback?: function,
)

Gửi một tin nhắn đến (các) tập lệnh nội dung trong thẻ được chỉ định, kèm theo lệnh gọi lại (không bắt buộc) để chạy khi phản hồi được gửi lạ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ẻ được chỉ định cho tiện ích hiện tại.

Thông số

  • tabId

    number

  • 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ể 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ư đến một tài liệu cụ thể do documentId xác định thay vì tất cả các khung trong thẻ.

    • frameId

      số không bắt buộc

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

  • số gọi lại

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

    Chrome 99 trở lên

    Tham số callback sẽ 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ý thông báo gửi. Nếu xảy ra lỗi trong khi kết nối đến thẻ đã chỉ định, thì 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ề

  • Hứa hẹn<any>

    Chrome 99 trở lên

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

sendRequest()

Promise &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ẻ được chỉ định, kèm theo một lệnh gọi lại (không bắt buộc) để chạy khi một phản hồi được gửi lạ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ẻ được chỉ định cho tiện ích hiện tại.

Thông số

  • tabId

    number

  • request

    Bất kỳ

  • số gọi lại

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

    Chrome 99 trở lên

    Tham số callback sẽ 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 đến thẻ đã chỉ định, thì 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ề

  • Hứa hẹn<any>

    Chrome 99 trở lên

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

setZoom()

Cam kết
chrome.tabs.setZoom(
  tabId?: number,
  zoomFactor: number,
  callback?: function,
)

Thu phóng một thẻ được chỉ định.

Thông số

  • tabId

    số không bắt buộc

    Mã 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

    number

    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 mặc định) cho thẻ.

  • số gọi lại

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

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

    ()=>void

Giá trị trả về

  • Promise<void>

    Chrome 88 trở lên

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

setZoomSettings()

Cam kết
chrome.tabs.setZoomSettings(
  tabId?: number,
  zoomSettings: ZoomSettings,
  callback?: function,
)

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

Thông số

  • tabId

    số không bắt buộc

    Mã 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ý.

  • số gọi lại

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

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

    ()=>void

Giá trị trả về

  • Promise<void>

    Chrome 88 trở lên

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

ungroup()

Cam kết Chrome 88 trở lên
chrome.tabs.ungroup(
  tabIds: number|[number,...number[]],
  callback?: function,
)

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

Thông 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.

  • số gọi lại

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

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

    ()=>void

Giá trị trả về

  • Promise<void>

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

update()

Cam kết
chrome.tabs.update(
  tabId?: number,
  updateProperties: object,
  callback?: function,
)

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

Thông 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 hủy 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 có nên tắt tiếng thẻ 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.

    • đã ghim

      boolean không bắt buộc

      Liệu thẻ có nên đượ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 đánh dấu.

      Liệu có nên chọn thẻ 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 dùng scripting.executeScript để thay thế.

  • số gọi lại

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

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

    (tab?: Tab)=>void

    • tab

      Thẻ không bắt buộc

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

Giá trị trả về

  • Hứa hẹn<Tab|không xác định>

    Chrome 88 trở lên

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến 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 một cửa sổ thay đổi. Lưu ý rằng có thể không đặt URL của thẻ 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.

Thông số

  • số gọi lại

    hàm

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

    (activeInfo: object)=>void

    • activeInfo

      đối tượng

      • tabId

        number

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

      • windowId

        number

        Mã 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 một cửa sổ thay đổi. Xin lưu ý rằng bạn không thể đặt URL của thẻ 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 để nhận thông báo khi URL được đặt.

Thông số

  • số gọi lại

    hàm

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

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

    • tabId

      number

    • selectInfo

      đối tượng

      • windowId

        number

        Mã của cửa sổ mà thẻ được 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ụ: do thẻ được di chuyển giữa các cửa sổ.

Thông số

  • số gọi lại

    hàm

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

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

    • tabId

      number

    • attachInfo

      đối tượng

      • newPosition

        number

      • newWindowId

        number

onCreated

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

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

Thông số

  • số gọi lại

    hàm

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

    (tab: Tab)=>void

onDetached

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

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

Thông số

  • số gọi lại

    hàm

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

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

    • tabId

      number

    • detachInfo

      đối tượng

      • oldPosition

        number

      • oldWindowId

        number

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 đánh dấu hoặc đã chọn trong một cửa sổ thay đổi.

Thông số

  • số gọi lại

    hàm

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

    (selectInfo: object)=>void

    • selectInfo

      đối tượng

      • tabIds

        số[]

        Tất cả các thẻ được đánh dấu trong cửa sổ.

      • windowId

        number

        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 đánh dấu hoặc đã chọn trong một cửa sổ thay đổi.

Thông số

  • số gọi lại

    hàm

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

    (highlightInfo: object)=>void

    • highlightInfo

      đối tượng

      • tabIds

        số[]

        Tất cả các thẻ được đánh dấu trong cửa sổ.

      • windowId

        number

        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 một 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. Sự kiện di chuyển không được kích hoạt cho các thẻ khác phải di chuyển theo 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.

Thông số

  • số gọi lại

    hàm

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

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

    • tabId

      number

    • moveInfo

      đối tượng

      • fromIndex

        number

      • toIndex

        number

      • windowId

        number

onRemoved

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

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

Thông số

  • số gọi lại

    hàm

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

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

    • tabId

      number

    • removeInfo

      đối tượng

      • isWindowClosing

        boolean

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

      • windowId

        number

        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ì.

Thông số

  • số gọi lại

    hàm

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

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

    • addedTabId

      number

    • removedTabId

      number

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 một cửa sổ thay đổi.

Thông số

  • số gọi lại

    hàm

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

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

    • tabId

      number

    • selectInfo

      đối tượng

      • windowId

        number

        Mã của cửa sổ mà thẻ được 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.

Thông số

  • số gọi lại

    hàm

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

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

    • tabId

      number

    • 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 tự động loại bỏ mới của thẻ.

      • đã hủy

        boolean không bắt buộc

        Chrome 54 trở lên

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

      • favIconUrl

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

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

      • groupId

        số không bắt buộc

        Chrome 88 trở lên

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

      • mutedInfo

        MutedInfo (Thông tin ẩn danh) 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.

      • đã ghim

        boolean không bắt buộc

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

      • status

        TabStatus không bắt buộc

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

      • title

        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 đã thay đổi.

    • tab

onZoomChange

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

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

Thông số

  • số gọi lại

    hàm

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

    (ZoomChangeInfo: object)=>void

    • ZoomChangeInfo

      đối tượng

      • newZoomFactor

        number

      • oldZoomFactor

        number

      • tabId

        number

      • zoomSettings