chrome.action

Nội dung mô tả

Dùng API chrome.action để kiểm soát biểu tượng của tiện ích trên thanh công cụ của Google Chrome.

Các biểu tượng hành động hiển thị trong thanh công cụ của trình duyệt bên cạnh thanh địa chỉ. Sau khi cài đặt, các tiện ích này sẽ xuất hiện trong trình đơn tiện ích (biểu tượng mảnh ghép). Người dùng có thể ghim biểu tượng tiện ích của bạn vào thanh công cụ.

Phạm vi cung cấp

Chrome 88 trở lên MV3

Tệp kê khai

Bạn phải khai báo các khoá sau trong tệp kê khai để sử dụng API này.

"action"

Để sử dụng API chrome.action, hãy chỉ định "manifest_version" của 3 và đưa khoá "action" vào tệp kê khai.

{
  "name": "Action Extension",
  ...
  "action": {
    "default_icon": {              // optional
      "16": "images/icon16.png",   // optional
      "24": "images/icon24.png",   // optional
      "32": "images/icon32.png"    // optional
    },
    "default_title": "Click Me",   // optional, shown in tooltip
    "default_popup": "popup.html"  // optional
  },
  ...
}

Khoá "action" (cùng với khoá con) là không bắt buộc. Khi không được bao gồm, tiện ích của bạn vẫn được hiển thị trong thanh công cụ để cấp quyền truy cập vào trình đơn của tiện ích. Vì lý do này, bạn nên bao gồm ít nhất là khoá "action""default_icon".

Khái niệm và cách sử dụng

Các phần của giao diện người dùng

Biểu tượng

Biểu tượng là hình ảnh chính trên thanh công cụ cho tiện ích và được đặt bằng phím "default_icon" trong khoá "action" của tệp kê khai. Biểu tượng phải có chiều rộng và chiều cao là 16 pixel không phụ thuộc vào thiết bị (DIP).

Khoá "default_icon" là từ điển về kích thước cho các đường dẫn hình ảnh. Chrome sử dụng các biểu tượng này để chọn tỷ lệ hình ảnh sẽ sử dụng. Nếu không tìm thấy kết quả khớp chính xác, Chrome sẽ chọn ảnh gần nhất hiện có và điều chỉnh tỷ lệ cho vừa với hình ảnh. Điều này có thể ảnh hưởng đến chất lượng ảnh.

Vì các thiết bị có hệ số tỷ lệ ít phổ biến hơn như 1,5x hoặc 1,2x đang trở nên phổ biến hơn, nên chúng tôi khuyến khích bạn cung cấp nhiều kích thước cho biểu tượng của mình. Điều này cũng giúp đảm bảo tiện ích của bạn chống lại các thay đổi có thể xảy ra đối với kích thước màn hình biểu tượng trên màn hình. Tuy nhiên, nếu chỉ cung cấp một kích thước duy nhất, bạn cũng có thể đặt khoá "default_icon" thành một chuỗi có đường dẫn đến một biểu tượng duy nhất thay vì từ điển.

Bạn cũng có thể gọi action.setIcon() để đặt biểu tượng cho tiện ích theo phương thức lập trình bằng cách chỉ định một đường dẫn hình ảnh khác hoặc cung cấp biểu tượng được tạo động bằng phần tử canvas HTML, hoặc nếu cài đặt qua một trình chạy dịch vụ tiện ích, thì API canvas ngoài màn hình.

const canvas = new OffscreenCanvas(16, 16);
const context = canvas.getContext('2d');
context.clearRect(0, 0, 16, 16);
context.fillStyle = '#00FF00';  // Green
context.fillRect(0, 0, 16, 16);
const imageData = context.getImageData(0, 0, 16, 16);
chrome.action.setIcon({imageData: imageData}, () => { /* ... */ });

Đối với các tiện ích đóng gói (cài đặt từ tệp .crx), hình ảnh có thể ở hầu hết các định dạng mà công cụ kết xuất Blink có thể hiển thị, bao gồm cả PNG, JPEG, BMP, ICO và các định dạng khác. SVG không được hỗ trợ. Các tiện ích đã giải nén phải dùng hình ảnh PNG.

Chú giải công cụ (tiêu đề)

Phần chú thích hay tiêu đề sẽ xuất hiện khi người dùng giữ con trỏ chuột lên biểu tượng của tiện ích trong thanh công cụ. Biểu ngữ này cũng có trong văn bản có thể truy cập mà trình đọc màn hình đọc khi nút được lấy nét.

Chú giải công cụ mặc định được đặt bằng trường "default_title" của khoá "action" trong manifest.json. Bạn cũng có thể đặt giá trị này theo phương thức lập trình bằng cách gọi action.setTitle().

Huy hiệu

Nếu muốn, các hành động có thể hiển thị "huy hiệu" – một phần văn bản nằm trên biểu tượng. Điều này cho phép bạn cập nhật thao tác để hiển thị một lượng nhỏ thông tin về trạng thái của tiện ích, chẳng hạn như bộ đếm. Huy hiệu có thành phần văn bản và màu nền. Vì không gian có giới hạn, văn bản huy hiệu chỉ nên sử dụng từ 4 ký tự trở xuống.

Để tạo huy hiệu, hãy đặt huy hiệu theo phương thức lập trình bằng cách gọi action.setBadgeBackgroundColor()action.setBadgeText(). Không có chế độ cài đặt huy hiệu mặc định trong tệp kê khai. Giá trị màu huy hiệu có thể là một mảng gồm 4 số nguyên từ 0 đến 255 tạo thành màu RGBA của huy hiệu hoặc một chuỗi có giá trị màu CSS.

chrome.action.setBadgeBackgroundColor(
  {color: [0, 255, 0, 0]},  // Green
  () => { /* ... */ },
);

chrome.action.setBadgeBackgroundColor(
  {color: '#00FF00'},  // Also green
  () => { /* ... */ },
);

chrome.action.setBadgeBackgroundColor(
  {color: 'green'},  // Also, also green
  () => { /* ... */ },
);

Cửa sổ bật lên của một hành động sẽ hiển thị khi người dùng nhấp vào nút hành động của tiện ích trong thanh công cụ. Cửa sổ bật lên có thể chứa bất kỳ nội dung HTML nào bạn thích và sẽ tự động được định kích thước cho vừa với nội dung của cửa sổ bật lên. Kích thước của cửa sổ bật lên phải nằm trong khoảng từ 25x25 đến 800x600 pixel.

Ban đầu, cửa sổ bật lên được thuộc tính "default_popup" đặt trong khoá "action" của tệp manifest.json. Nếu có, thuộc tính này phải trỏ đến một đường dẫn tương đối trong thư mục tiện ích. Chuỗi này cũng có thể được cập nhật động để trỏ đến một đường dẫn tương đối khác bằng phương thức action.setPopup().

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

Trạng thái mỗi thẻ

Các thao tác với tiện ích có thể có các trạng thái khác nhau cho từng thẻ. Để đặt giá trị cho một thẻ riêng lẻ, hãy sử dụng thuộc tính tabId trong các phương thức cài đặt của API action. Ví dụ: để đặt văn bản huy hiệu cho một thẻ cụ thể, hãy làm như sau:

function getTabId() { /* ... */}
function getTabBadge() { /* ... */}

chrome.action.setBadgeText(
  {
    text: getTabBadge(tabId),
    tabId: getTabId(),
  },
  () => { ... }
);

Nếu bạn không chọn thuộc tính tabId, thì chế độ cài đặt này được coi là chế độ cài đặt chung. Chế độ cài đặt theo thẻ cụ thể được ưu tiên hơn chế độ cài đặt chung.

Trạng thái đã bật

Theo mặc định, các thao tác trên thanh công cụ được kích hoạt (có thể nhấp) trên mọi thẻ. Bạn có thể kiểm soát việc này bằng các phương thức action.enable()action.disable(). Điều này chỉ ảnh hưởng đến việc sự kiện cửa sổ bật lên (nếu có) hoặc action.onClicked có được gửi tới tiện ích của bạn hay không chứ không ảnh hưởng đến sự hiện diện của hành động trong thanh công cụ.

Ví dụ

Các ví dụ sau đây cho thấy một số cách phổ biến mà các thao tác được sử dụng trong tiện ích. Để dùng thử API này, hãy cài đặt ví dụ về API Hành động trong kho lưu trữ chrome-extension-samples.

Hiển thị cửa sổ bật lên

Thông thường, tiện ích sẽ hiển thị cửa sổ bật lên khi người dùng nhấp vào hành động của tiện ích đó. Để triển khai việc này trong tiện ích của riêng bạn, hãy khai báo cửa sổ bật lên trong manifest.json và chỉ định nội dung mà Chrome sẽ hiển thị trong cửa sổ bật lên.

// manifest.json
{
  "name": "Action popup demo",
  "version": "1.0",
  "manifest_version": 3,
  "action": {
    "default_title": "Click to view a popup",
    "default_popup": "popup.html"
  }
}
<!-- popup.html -->
<!DOCTYPE html>
<html>
<head>
  <style>
    html {
      min-height: 5em;
      min-width: 10em;
      background: salmon;
    }
  </style>
</head>
<body>
  <p>Hello, world!</p>
</body>
</html>

Chèn tập lệnh nội dung khi nhấp chuột

Một mẫu phổ biến cho tiện ích là hiển thị tính năng chính bằng thao tác của tiện ích. Ví dụ sau minh hoạ cho mẫu này. Khi người dùng nhấp vào hành động, tiện ích sẽ chèn một tập lệnh nội dung vào trang hiện tại. Sau đó, tập lệnh nội dung sẽ hiển thị cảnh báo để xác minh rằng mọi thứ hoạt động như mong đợi.

// manifest.json
{
  "name": "Action script injection demo",
  "version": "1.0",
  "manifest_version": 3,
  "action": {
    "default_title": "Click to show an alert"
  },
  "permissions": ["activeTab", "scripting"],
  "background": {
    "service_worker": "background.js"
  }
}
// background.js
chrome.action.onClicked.addListener((tab) => {
  chrome.scripting.executeScript({
    target: {tabId: tab.id},
    files: ['content.js']
  });
});
// content.js
alert('Hello, world!');

Mô phỏng các hành động bằng declarativeContent

Ví dụ này cho thấy cách logic nền của tiện ích có thể (a) tắt một thao tác theo mặc định và (b) sử dụng declarativeContent để bật thao tác đó trên các trang web cụ thể.

// service-worker.js

// Wrap in an onInstalled callback to avoid unnecessary work
// every time the service worker is run
chrome.runtime.onInstalled.addListener(() => {
  // Page actions are disabled by default and enabled on select tabs
  chrome.action.disable();

  // Clear all rules to ensure only our expected rules are set
  chrome.declarativeContent.onPageChanged.removeRules(undefined, () => {
    // Declare a rule to enable the action on example.com pages
    let exampleRule = {
      conditions: [
        new chrome.declarativeContent.PageStateMatcher({
          pageUrl: {hostSuffix: '.example.com'},
        })
      ],
      actions: [new chrome.declarativeContent.ShowAction()],
    };

    // Finally, apply our new array of rules
    let rules = [exampleRule];
    chrome.declarativeContent.onPageChanged.addRules(rules);
  });
});

Loại

OpenPopupOptions

Chrome 99 trở lên

Thuộc tính

  • windowId

    số không bắt buộc

    Mã của cửa sổ để mở cửa sổ hành động bật lên. Mặc định là cửa sổ đang hoạt động nếu bạn không chỉ định.

TabDetails

Thuộc tính

  • tabId

    số không bắt buộc

    Mã của thẻ cần truy vấn trạng thái. Nếu không có tab nào được chỉ định, trạng thái không phải tab cụ thể sẽ được trả về.

UserSettings

Chrome 91 trở lên

Tập hợp các chế độ cài đặt do người dùng chỉ định liên quan đến hành động của một tiện ích.

Thuộc tính

  • isOnToolbar

    boolean

    Biểu tượng hành động của tiện ích có hiển thị trên thanh công cụ cấp cao nhất của cửa sổ trình duyệt hay không (nghĩa là liệu người dùng có "ghim" tiện ích hay không).

Phương thức

disable()

Cam kết
chrome.action.disable(
  tabId?: number,
  callback?: function,
)

Tắt hành động đối với một thẻ.

Tham số

  • tabId

    số không bắt buộc

    Mã của thẻ mà bạn muốn sửa đổi thao tá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>

    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.

enable()

Cam kết
chrome.action.enable(
  tabId?: number,
  callback?: function,
)

Bật hành động cho một thẻ. Theo mặc định, các hành động được bật.

Tham số

  • tabId

    số không bắt buộc

    Mã của thẻ mà bạn muốn sửa đổi hành độ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.

getBadgeBackgroundColor()

Cam kết
chrome.action.getBadgeBackgroundColor(
  details: TabDetails,
  callback?: function,
)

Lấy màu nền của thao tác.

Tham số

  • chi tiết
  • số gọi lại

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

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

    (result: ColorArray)=>void

Giá trị trả về

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

getBadgeText()

Cam kết
chrome.action.getBadgeText(
  details: TabDetails,
  callback?: function,
)

Lấy văn bản huy hiệu của hành động. Nếu không có thẻ nào được chỉ định thì văn bản huy hiệu không phải thẻ cụ thể sẽ được trả về. Nếu bạn bật displayActionCountAsBadgeText, hệ thống sẽ trả về văn bản phần giữ chỗ trừ phi có quyền declarativeNetRequestFeedback hoặc văn bản huy hiệu dành riêng cho thẻ.

Tham số

  • chi tiết
  • số gọi lại

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

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

    (result: string)=>void

    • kết quả

      string

Giá trị trả về

  • Hứa hẹn<string>

    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.

getBadgeTextColor()

Cam kết Chrome 110 trở lên
chrome.action.getBadgeTextColor(
  details: TabDetails,
  callback?: function,
)

Lấy màu văn bản của thao tác.

Tham số

  • chi tiết
  • số gọi lại

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

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

    (result: ColorArray)=>void

Giá trị trả về

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

getPopup()

Cam kết
chrome.action.getPopup(
  details: TabDetails,
  callback?: function,
)

Lấy tài liệu html được đặt làm cửa sổ bật lên cho hành động này.

Tham số

  • chi tiết
  • số gọi lại

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

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

    (result: string)=>void

    • kết quả

      string

Giá trị trả về

  • Hứa hẹn<string>

    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.

getTitle()

Cam kết
chrome.action.getTitle(
  details: TabDetails,
  callback?: function,
)

Lấy tiêu đề của hành động.

Tham số

  • chi tiết
  • số gọi lại

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

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

    (result: string)=>void

    • kết quả

      string

Giá trị trả về

  • Hứa hẹn<string>

    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.

getUserSettings()

Cam kết Chrome 91 trở lên
chrome.action.getUserSettings(
  callback?: function,
)

Trả về các chế độ cài đặt do người dùng chỉ định liên quan đến hành động của một tiện ích.

Tham số

  • số gọi lại

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

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

    (userSettings: UserSettings)=>void

Giá trị trả về

  • Promise<UserSettings>

    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.

isEnabled()

Cam kết Chrome 110 trở lên
chrome.action.isEnabled(
  tabId?: number,
  callback?: function,
)

Cho biết liệu thao tác tiện ích được bật cho một thẻ (hoặc toàn cục nếu không cung cấp tabId nào). Các thao tác được bật chỉ bằng declarativeContent luôn trả về giá trị false.

Tham số

  • tabId

    số không bắt buộc

    Mã của thẻ mà bạn muốn kiểm tra trạng thái đã bật.

  • số gọi lại

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

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

    (isEnabled: boolean)=>void

    • isEnabled

      boolean

      Đúng nếu thao tác với tiện ích được bật.

Giá trị trả về

  • Promise<boolean>

    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.

openPopup()

Cam kết Chrome 118 trở lên Cần có chính sách
chrome.action.openPopup(
  options?: OpenPopupOptions,
  callback?: function,
)

Mở cửa sổ bật lên của tiện ích.

Tham số

  • tùy chọn

    OpenPopupOptions không bắt buộc

    Chỉ định các tuỳ chọn để mở cửa sổ bật lên.

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

setBadgeBackgroundColor()

Cam kết
chrome.action.setBadgeBackgroundColor(
  details: object,
  callback?: function,
)

Đặt màu nền cho huy hiệu.

Tham số

  • chi tiết

    đối tượng

    • màu

      string|ColorArray

      Một mảng gồm bốn số nguyên trong phạm vi [0,255] tạo nên màu RGBA của huy hiệu. Ví dụ: màu đỏ mờ là [255, 0, 0, 255]. Cũng có thể là một chuỗi có giá trị CSS, với màu đỏ mờ là #FF0000 hoặc #F00.

    • tabId

      số không bắt buộc

      Giới hạn thay đổi cho thời điểm một thẻ cụ thể được chọn. Tự động đặt lại khi thẻ bị đó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.

setBadgeText()

Cam kết
chrome.action.setBadgeText(
  details: object,
  callback?: function,
)

Đặt văn bản huy hiệu cho hành động đó. Huy hiệu này xuất hiện ở phía trên cùng của biểu tượng.

Tham số

  • chi tiết

    đối tượng

    • tabId

      số không bắt buộc

      Giới hạn thay đổi cho thời điểm một thẻ cụ thể được chọn. Tự động đặt lại khi thẻ bị đóng.

    • văn bản

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

      Bạn có thể truyền số lượng ký tự bất kỳ, nhưng chỉ có tối đa 4 ký tự có thể đặt vừa với dấu cách. Nếu một chuỗi trống ('') được truyền, văn bản huy hiệu sẽ bị xoá. Nếu bạn chỉ định tabIdtext là giá trị rỗng, thì văn bản của thẻ đã chỉ định sẽ bị xoá và chuyển thành văn bản huy hiệu chung theo mặc định.

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

setBadgeTextColor()

Cam kết Chrome 110 trở lên
chrome.action.setBadgeTextColor(
  details: object,
  callback?: function,
)

Đặt màu văn bản cho huy hiệu.

Tham số

  • chi tiết

    đối tượng

    • màu

      string|ColorArray

      Một mảng gồm bốn số nguyên trong phạm vi [0,255] tạo nên màu RGBA của huy hiệu. Ví dụ: màu đỏ mờ là [255, 0, 0, 255]. Cũng có thể là một chuỗi có giá trị CSS, với màu đỏ mờ là #FF0000 hoặc #F00. Nếu không đặt giá trị này, hệ thống sẽ tự động chọn màu sẽ tương phản với màu nền của huy hiệu, nên văn bản sẽ xuất hiện. Màu có giá trị alpha tương đương với 0 sẽ không được đặt và sẽ trả về lỗi.

    • tabId

      số không bắt buộc

      Giới hạn thay đổi cho thời điểm một thẻ cụ thể được chọn. Tự động đặt lại khi thẻ bị đó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.

setIcon()

Cam kết
chrome.action.setIcon(
  details: object,
  callback?: function,
)

Đặt biểu tượng cho hành động. Biểu tượng có thể được chỉ định làm đường dẫn đến tệp hình ảnh hoặc dữ liệu pixel từ một phần tử canvas hoặc làm từ điển của một trong hai phần tử đó. Bạn phải chỉ định thuộc tính path (đường dẫn) hoặc imageData.

Tham số

  • chi tiết

    đối tượng

    • imageData

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

      Đối tượng ImageData hoặc từ điển {size -> ImageData} biểu thị biểu tượng cần đặt. Nếu biểu tượng được chỉ định làm từ điển, thì hình ảnh thực tế được sử dụng sẽ được chọn tuỳ thuộc vào mật độ pixel của màn hình. Nếu số pixel hình ảnh vừa với một đơn vị không gian màn hình bằng scale, thì hình ảnh có kích thước scale * n sẽ được chọn, trong đó n là kích thước của biểu tượng trong giao diện người dùng. Bạn phải chỉ định ít nhất một hình ảnh. Lưu ý rằng 'details.imageData = foo' tương đương với 'details.imageData = {'16': foo}'

    • path

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

      Đường dẫn hình ảnh tương đối hoặc từ điển {size -> tương đối đường dẫn hình ảnh} trỏ đến biểu tượng cần đặt. Nếu biểu tượng được chỉ định làm từ điển, thì hình ảnh thực tế được sử dụng sẽ được chọn tuỳ thuộc vào mật độ pixel của màn hình. Nếu số pixel hình ảnh vừa với một đơn vị không gian màn hình bằng scale, thì hình ảnh có kích thước scale * n sẽ được chọn, trong đó n là kích thước của biểu tượng trong giao diện người dùng. Bạn phải chỉ định ít nhất một hình ảnh. Lưu ý rằng "details.path = foo" tương đương với 'details.path = {'16': foo}'

    • tabId

      số không bắt buộc

      Giới hạn thay đổi cho thời điểm một thẻ cụ thể được chọn. Tự động đặt lại khi thẻ bị đó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 96 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.

setPopup()

Cam kết
chrome.action.setPopup(
  details: object,
  callback?: function,
)

Đặt tài liệu HTML được mở dưới dạng cửa sổ bật lên khi người dùng nhấp vào biểu tượng của hành động.

Tham số

  • chi tiết

    đối tượng

    • cửa sổ bật lên

      string

      Đường dẫn tương đối đến tệp HTML sẽ hiển thị trong cửa sổ bật lên. Nếu bạn đặt chính sách này thành chuỗi trống (''), thì sẽ không có cửa sổ bật lên nào hiển thị.

    • tabId

      số không bắt buộc

      Giới hạn thay đổi cho thời điểm một thẻ cụ thể được chọn. Tự động đặt lại khi thẻ bị đó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.

setTitle()

Cam kết
chrome.action.setTitle(
  details: object,
  callback?: function,
)

Đặt tiêu đề cho hành động. Tên này xuất hiện trong chú giải công cụ.

Tham số

  • chi tiết

    đối tượng

    • tabId

      số không bắt buộc

      Giới hạn thay đổi cho thời điểm một thẻ cụ thể được chọn. Tự động đặt lại khi thẻ bị đóng.

    • title

      string

      Chuỗi mà hành động sẽ hiển thị khi di chuột qua.

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

Sự kiện

onClicked

chrome.action.onClicked.addListener(
  callback: function,
)

Được kích hoạt khi nhấp vào một biểu tượng hành động. Sự kiện này sẽ không kích hoạt nếu hành động có cửa sổ bật lên.

Tham số

  • số gọi lại

    hàm

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

    (tab: tabs.Tab)=>void