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.

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 language của thẻ, chụp ảnh chụp màn hìnhgiao tiếp bằng tập lệnh nội dung của thẻ.

Quyền

Hầu hết các tính năng không yêu cầu quyền nào để sử dụng. Ví dụ: tạo một thẻ mới, tải lại một thẻ, chuyển hướng đế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ẻ.

"Thẻ" quyền

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 đó, cấp cho tiện ích khả năng gọi tabs.query() với 4 thuộc tính nhạy cảm trên 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 bốn dữ liệu nhạy cảm của một thẻ phù hợp Thuộc tính tabs.Tab. Chú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ư dưới tên tabs.captureVisibleTab(), tabs.executeScript(), tabs.insertCSS()tabs.removeCSS().

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

activeTab cấp quyền lưu trữ tạm thời cho tiện ích cho thẻ hiện tại trong 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 minh hoạ một số trường hợp sử dụng phổ biến.

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

Một mô hình phổ biến cho tiện ích là mở trang giới thiệu trong thẻ mới khi tiện ích đang . Ví dụ sau đây trình bà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 tiện ích có thể truy xuất thẻ đang hoạt động từ cửa sổ được lấy tiêu điểm hiện tại (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). Chiến dịch này thường có thể đượ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 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 được nhấp vào

Ví dụ này cho biết cách di chuyển thẻ 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, bạn có thể sử dụng cùng một mẫu chờ cho các cuộc gọi khác có sửa đổi thẻ trong khi đang 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.");
      }
    });
  }

Chuyển thư đế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ề phần mở rộng

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

Loại

MutedInfo

Chrome 46 trở lên

Trạng thái bị 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 tiện ích đã thay đổi trạng thái tắt tiếng. Không được đặt nếu một tiện ích không phải là lý do khiến trạng thái tắt tiếng thay đổi lần gần đây nhất.

  • đã tắt tiếng

    boolean

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

  • 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 sự thay đổi về trạng thái bị tắt tiếng.

Enum

"người dùng"
Thao tác 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 trong trường extensionsId, đặ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ổ của thẻ hay không. Không nhất thiết có nghĩa là cửa sổ được lấy làm tâm điểm.

  • audible

    boolean không bắt buộc

    Chrome 45 trở lên

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

  • 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ị huỷ là thẻ có nội dung đã bị huỷ tải khỏi bộ nhớ nhưng vẫn hiển thị trong dải thẻ. Nội dung của thẻ này 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 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

    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ã nhận dạng 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, một thẻ có thể không được chỉ định mã nhận dạng; ví dụ: khi truy vấn các thẻ bên ngoài bằng API sessions, trong trường hợp này, mã phiên có thể sẽ xuất hiện. Bạn cũng có thể đặt mã thẻ thành chrome.tabs.TAB_ID_NONE đối với cửa sổ ứng dụng và cửa sổ công cụ cho nhà phát triển.

  • ẩn danh

    boolean

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

  • index

    số

    Chỉ mục gốc 0 của thẻ trong cửa sổ của thẻ.

  • lastAccessed

    số

    Chrome 121 trở lên

    Lần gần đây nhất thẻ được truy cập vào thẻ này 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 bị 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 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 nội dung đ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 được dùng để xác định riêng biệt một thẻ lấy 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 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

    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

"unload"

"đang tải"

"hoàn tất"

WindowType

Chrome 44 trở lên

Loại cửa sổ.

Enum

"normal" (bình thường)

"bật lên"

"bảng điều khiển"

"ứng dụng"

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

  • chế độ

    Xác định cách xử lý các thay đổi về mức thu phóng, tức là 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; 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 vẫn tồn tại đối với nguồn gốc của trang hay chỉ có hiệu lực trong thẻ này; giá trị mặc định là per-origin khi ở chế độ automaticper-tab nếu không được bật.

ZoomSettingsMode

Chrome 44 trở lên

Xác định cách xử lý những thay đổi về mức thu phóng, tức là 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; mặc định là automatic.

Enum

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

"thủ công"
Ghi đè thao tác 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 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ẻ này sẽ chuyển về mức thu phóng mặc định và mọi thay đổi đã thử 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 vẫn tồn tại đối với nguồn gốc của trang hay chỉ có hiệu lực trong thẻ này; giá trị mặc định là per-origin khi ở chế độ automaticper-tab nếu không được bật.

Enum

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

"trên mỗi thẻ"
Các thay đổi đối với chế độ thu phóng chỉ có hiệu lực trong thẻ này và các thay đổi đối với tính năng thu phóng trên các thẻ khác không ảnh hưởng đến việc thu phóng thẻ này. Ngoài ra, những thay đổi về mức thu phóng của per-tab sẽ được đặt lại trong quá trình điều hướng; thao tác điều hướng một thẻ sẽ luôn tải trang theo 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 rất 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 biểu thị việc không có chỉ mục thẻ trong dải_thẻ.

Giá trị

-1

Phương thức

captureVisibleTab()

Lời hứa
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 các trang web mà tiện ích có thể truy cập bình thường, phương pháp này cho phép tiện ích ghi lại các trang web nhạy cảm bị hạn chế theo cách khác, bao gồm các trang chrome:-giaothuc, các tiện ích khác" và dữ liệu: URL. Chỉ có thể thu thập các trang web nhạy cảm này khi có quyền ActiveTab. URL tệp chỉ có thể được ghi lại nếu đuôi tệp đã đượ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. 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

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

Giá trị trả về

  • Cam kết<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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng 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 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ở cổng đế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

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

    • tên

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

      Được truyề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 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()

Lời hứa
chrome.tabs.create(
  createProperties: object,
  callback?: function,
)

Tạo thẻ mới.

Tham số

  • createProperties

    đối tượng

    • hoạt động

      boolean không bắt buộc

      Thẻ có trở thành thẻ 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 tâm đ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ẻ sẽ chọn trong cửa sổ. Giá trị bạn cung cấp được giới hạn trong khoảng từ 0 đến số lượng 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 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 có nên ghim thẻ 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 hộp đánh dấu đang hoạt động.

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

    • url

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

      URL để chuyển thẻ sang lúc ban đầu. Các URL đủ điều kiện phải chứa một lược đồ (nghĩa là "http://www.google.com", không phải "www.google.com"). URL tương đối tương đối so với trang hiện tại trong phần mở rộng. 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

    • phím tab

      Thẻ đã tạo.

Giá trị trả về

  • Cam kết<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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến lệnh gọi lại.

detectLanguage()

Lời hứa
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

    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:

    (language: string) => void

    • language

      string

      Mã ngôn ngữ ISO như en hoặc fr. Để biết danh sách đầy đủ các ngôn ngữ được 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 là NULL sẽ được trả về, ngoại trừ tiếng Trung giản thể có giá trị trả về zh-CN. Đố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ề

  • Cam kết<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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến 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 kỷ niệm. Các thẻ đã bị hủy vẫn hiển thị trên dải thẻ và sẽ được tải lại khi kích hoạt.

Tham số

  • tabId

    số không bắt buộc

    Mã nhận dạng của thẻ sẽ bị loại bỏ. Nếu được chỉ định, thẻ sẽ bị loại bỏ trừ phi đang hoạt động hoặc đã bị loại bỏ. Nếu bạn bỏ qua thẻ này, trình duyệt sẽ loại bỏ thẻ ít quan trọng nhất. Thao tác này không thể thực hiện được 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

    • phím tab

      Thẻ không bắt buộc

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

Giá trị trả về

  • Cam kết<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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến lệnh gọi lại.

duplicate()

Lời hứa
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.

  • 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

    • phím tab

      Thẻ không bắt buộc

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

Giá trị trả về

  • Cam kết<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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến lệnh gọi lại.

executeScript()

Lời hứa &amp;leq; MV2 Không được 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.

Tham số

  • tabId

    số không bắt buộc

    Mã nhận dạng của thẻ mà bạn muốn chạy tập lệnh; đặt mặc định thành 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 mã 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ề

  • Promise&lt;any[] | 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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến lệnh gọi lại.

get()

Lời hứa
chrome.tabs.get(
  tabId: number,
  callback?: function,
)

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

Tham số

  • tabId

    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

Giá trị trả về

  • Cam kết<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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến lệnh gọi lại.

getAllInWindow()

Lời hứa &amp;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.

Tham 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ề

  • Cam kết<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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến lệnh gọi lại.

getCurrent()

Lời hứa
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 khung hiển thị bật lên).

Tham 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

    • phím tab

      Thẻ không bắt buộc

Giá trị trả về

  • Cam kết<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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến lệnh gọi lại.

getSelected()

Lời hứa &amp;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

    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ề

  • Cam kết<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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến lệnh gọi lại.

getZoom()

Lời hứa
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ã nhận dạng thẻ để lấy hệ số thu phóng hiện tại; đặt mặc định thành 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

      số

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

Giá trị trả về

  • Promise&lt;number&gt;

    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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến lệnh gọi lại.

getZoomSettings()

Lời hứa
chrome.tabs.getZoomSettings(
  tabId?: number,
  callback?: function,
)

Xem 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; đặt mặc định thành 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

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

Giá trị trả về

  • Promise&lt;ZoomSettings&gt;

    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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến 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ã nhận dạng của thẻ để điều hướng trở lại; đặt 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ề

  • Lời hứa<vô hiệu>

    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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến lệnh gọi lại.

goForward()

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

Hãy chuyển sang trang tiếp theo, nếu có.

Tham số

  • tabId

    số không bắt buộc

    Mã của thẻ để chuyển tiếp; đặt 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ề

  • Lời hứa<vô hiệu>

    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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến 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 có nhóm nào được chỉ định, sẽ 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 một 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 sẽ thêm thẻ vào. Nếu bạn 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

      số

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

Giá trị trả về

  • Promise&lt;number&gt;

    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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến lệnh gọi lại.

highlight()

Lời hứa
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. Có vẻ như 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ẻ 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 đánh dấu.

Giá trị trả về

  • Promise&lt;windows.Window&gt;

    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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến lệnh gọi lại.

insertCSS()

Lời hứa &amp;leq; MV2 Không được 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.

Tham số

  • tabId

    số không bắt buộc

    Mã của thẻ cần chèn CSS; đặt mặc định thành 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 mã 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ề

  • Lời hứa<vô hiệu>

    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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến lệnh gọi lại.

move()

Lời hứa
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 sang một cửa sổ mới. Lưu ý rằng bạn chỉ có thể di chuyển thẻ đến và từ 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. 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ổ mà thẻ hiện đang truy cập.

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

  • Cam kết<Tab | Thẻ[]>

    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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến lệnh gọi lại.

query()

Lời hứa
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.

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ổ của chúng hay không.

    • audible

      boolean không bắt buộc

      Chrome 45 trở lên

      Liệu các thẻ có bật â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 huỷ 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ị huỷ hay không. Thẻ bị huỷ là thẻ có nội dung đã bị huỷ tải khỏi bộ nhớ nhưng vẫn hiển thị trong dải thẻ. Nội dung của thẻ này 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 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ổ của chúng.

    • 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

      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

      Khớp thẻ với một hoặc nhiều mẫu URL. Giá trị nhận dạng của 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ổ chính hoặc 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ề

  • Cam kết<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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến lệnh gọi lại.

reload()

Lời hứa
chrome.tabs.reload(
  tabId?: number,
  reloadProperties?: object,
  callback?: function,
)

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

Tham số

  • tabId

    số không bắt buộc

    Mã của thẻ cần tải lại; đặt 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 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ề

  • Lời hứa<vô hiệu>

    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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến lệnh gọi lại.

remove()

Lời hứa
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.

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

  • Lời hứa<vô hiệu>

    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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến lệnh gọi lại.

removeCSS()

Lời hứa Chrome 87 trở lên &amp;leq; MV2 Không được 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 của trang trước đó đã được chèn vào bằng một lệnh gọi đến scripting.insertCSS.

Tham số

  • tabId

    số không bắt buộc

    Mã của thẻ mà bạn cần xoá CSS; đặt mặc định thành 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 mã 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ề

  • Lời hứa<vô hiệu>

    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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến lệnh gọi lại.

sendMessage()

Lời hứa
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, kèm theo 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 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.

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à đối tượng có thể định dạng 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ông báo đế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 với 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ề

  • Cam kết<bất kỳ>

    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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến lệnh gọi lại.

sendRequest()

Lời hứa &amp;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 đế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 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.

Tham số

  • tabId

    số

  • 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 với 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ề

  • Cam kết<bất kỳ>

    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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến lệnh gọi lại.

setZoom()

Lời hứa
chrome.tabs.setZoom(
  tabId?: number,
  zoomFactor: number,
  callback?: function,
)

Thu phóng một thẻ đã chỉ định.

Tham số

  • tabId

    số không bắt buộc

    Mã nhận dạng thẻ cần thu phóng; đặt mặc định thành 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ị của 0 đặt thẻ thành hệ số thu phóng mặc định hiện tại. 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ẻ.

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

  • Lời hứa<vô hiệu>

    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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến lệnh gọi lại.

setZoomSettings()

Lời hứa
chrome.tabs.setZoomSettings(
  tabId?: number,
  zoomSettings: ZoomSettings,
  callback?: function,
)

Đặt chế độ cài đặt thu phóng cho một thẻ đã 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 đến thẻ.

Tham số

  • tabId

    số không bắt buộc

    Mã nhận dạng thẻ để thay đổi chế độ cài đặt thu phóng; đặt mặc định thành 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 áp dụ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ề

  • Lời hứa<vô hiệu>

    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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến 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 các nhóm tương ứng. Nếu bất kỳ nhóm nào trở nên 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.

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

  • Lời hứa<vô hiệu>

    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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến lệnh gọi lại.

update()

Lời hứa
chrome.tabs.update(
  tabId?: number,
  updateProperties: object,
  callback?: function,
)

Sửa đổi thuộc tính của thẻ. Những 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

    Giá trị 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 làm tâm đ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 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ẻ 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 có nên ghim thẻ hay không.

    • đã chọn

      boolean không bắt buộc

      Không dùng nữa

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

      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 sử dụng scripting.executeScript.

  • 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

    • phím 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 chưa yêu cầu quyền "tabs".

Giá trị trả về

  • Cam kết<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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng 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. Xin lưu ý rằng bạn có thể không đặt URL của thẻ tại thời điểm kích hoạt sự kiện này, nhưng bạn có thể theo dõi sự kiện onUpdated để được thông báo khi đặt URL.

Tham 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

        số

        Mã thẻ đã trở thành hoạt động.

      • windowId

        số

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

onActiveChanged

&amp;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. Lưu ý rằng bạn không thể đặt URL của thẻ tại thời điểm kích hoạt sự kiện này, nhưng bạn có thể theo dõi các sự kiện tabs.onUpdated để nhận thông báo khi đặt URL.

Tham số

  • số gọi lại

    hàm

    Tham số callback sẽ 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ẻ đượ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 mục đó đã được di chuyển giữa các cửa sổ.

Tham số

  • số gọi lại

    hàm

    Tham số callback sẽ 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 một thẻ được tạo. Xin lưu ý rằng bạn có thể không thiết lập URL của thẻ và tư cách thành viên trong nhóm thẻ tại thời điểm kích hoạt sự kiện này, nhưng bạn có thể nghe sự kiện onUpdated để nhận được thông báo khi đặt URL hoặc khi thẻ được thêm vào nhóm thẻ.

Tham 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ẻ bị tách khỏi cửa sổ; ví dụ: do mục đó đã được di chuyển giữa các cửa sổ.

Tham số

  • số gọi lại

    hàm

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

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

    • tabId

      số

    • detachInfo

      đối tượng

      • oldPosition

        số

      • oldWindowId

        số

onHighlightChanged

&amp;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 được chọn trong một cửa sổ thay đổi.

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

Tham 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ả thẻ được đánh dấu 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 di chuyển một thẻ bê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 đã di chuyển trực tiếp. Sự kiện di chuyển không được kích hoạt cho các thẻ khác mà 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ố

  • số gọi lại

    hàm

    Tham số callback sẽ 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 đóng một thẻ.

Tham số

  • số gọi lại

    hàm

    Tham số callback sẽ 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ẹ của thẻ đã đóng.

      • windowId

        số

        Cửa sổ có thẻ đang đó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 quá trình kết xuất trước hoặc tức thì.

Tham số

  • số gọi lại

    hàm

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

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

    • addedTabId

      số

    • removedTabId

      số

onSelectionChanged

&amp;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.

Tham số

  • số gọi lại

    hàm

    Tham số callback sẽ 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ẻ được chọn đã thay đổi bên trong.

onUpdated

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

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

Tham 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

      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 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 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 ghim mới của thẻ.

      • 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 có thay đổi.

    • phím tab

onZoomChange

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

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

Tham 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

        số

      • oldZoomFactor

        số

      • tabId

        số

      • zoomSettings