chrome.omnibox

Nội dung mô tả

API thanh địa chỉ cho phép bạn đăng ký từ khoá bằng thanh địa chỉ của Google Chrome, thanh địa chỉ này còn được gọi là thanh địa chỉ.

Ảnh chụp màn hình cho thấy các đề xuất liên quan đến từ khoá "Tìm kiếm Chromium"

Khi người dùng nhập từ khoá cho tiện ích của bạn, họ sẽ chỉ bắt đầu tương tác với tiện ích của bạn. Mỗi thao tác nhấn phím được gửi đến tiện ích của bạn và bạn có thể cung cấp đề xuất để phản hồi.

Các đề xuất có thể được định dạng phong phú theo nhiều cách khác nhau. Khi người dùng chấp nhận đề xuất, tiện ích của bạn sẽ được thông báo và có thể thực hiện hành động.

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.

"omnibox"

Bạn phải đưa trường "omnibox.keyword" vào tệp kê khai để sử dụng API thanh địa chỉ. Bạn cũng nên chỉ định biểu tượng 16 x 16 pixel. Biểu tượng này sẽ hiển thị trong thanh địa chỉ khi đề xuất người dùng chuyển sang chế độ từ khoá.

Ví dụ:

{
  "name": "Aaron's omnibox extension",
  "version": "1.0",
  "omnibox": { "keyword" : "aaron" },
  "icons": {
    "16": "16-full-color.png"
  },
  "background": {
    "persistent": false,
    "scripts": ["background.js"]
  }
}

Ví dụ

Để dùng thử API này, hãy cài đặt ví dụ về API thanh địa chỉ trong kho lưu trữ chrome-extension-samples.

Loại

DefaultSuggestResult

Kết quả đề xuất.

Thuộc tính

  • description

    string

    Văn bản xuất hiện trong trình đơn thả xuống của URL. Có thể chứa mã đánh dấu kiểu XML để định kiểu. Các thẻ được hỗ trợ là "url" (đối với URL cố định), "match" (để đánh dấu văn bản khớp với cụm từ tìm kiếm của người dùng) và "dim" (đối với văn bản trợ giúp mờ). Các kiểu có thể được lồng vào nhau, ví dụ: kết hợp được làm mờ.

DescriptionStyleType

Chrome 44 trở lên

Loại kiểu.

Liệt kê

"url"

OnInputEnteredDisposition

Chrome 44 trở lên

Vị trí cửa sổ cho truy vấn thanh địa chỉ. Đây là ngữ cảnh được đề xuất để hiển thị kết quả. Ví dụ: nếu lệnh thanh địa chỉ dùng để điều hướng đến một URL nhất định, việc sắp xếp 'newForegroundTab' có nghĩa là điều hướng sẽ diễn ra trong thẻ mới đã chọn.

Liệt kê

"currentTab"

"newForegroundTab"

"newBackgroundTab"

SuggestResult

Kết quả đề xuất.

Thuộc tính

  • những nội dung

    string

    Văn bản được đưa vào thanh URL và được gửi tới tiện ích khi người dùng chọn mục nhập này.

  • có thể xoá

    boolean không bắt buộc

    Chrome 63 trở lên

    Liệu người dùng có thể xoá kết quả đề xuất hay không.

  • description

    string

    Văn bản xuất hiện trong trình đơn thả xuống của URL. Có thể chứa mã đánh dấu kiểu XML để định kiểu. Các thẻ được hỗ trợ là "url" (đối với URL cố định), "match" (để đánh dấu văn bản khớp với cụm từ tìm kiếm của người dùng) và "dim" (đối với văn bản trợ giúp mờ). Các kiểu có thể được lồng vào nhau, ví dụ: kết hợp được làm mờ. Bạn phải thoát khỏi 5 thực thể định sẵn để hiển thị chúng dưới dạng văn bản: stackoverflow.com/a/1091953/89484

Phương thức

setDefaultSuggestion()

Cam kết
chrome.omnibox.setDefaultSuggestion(
  suggestion: DefaultSuggestResult,
  callback?: function,
)

Đặt nội dung mô tả và định kiểu cho đề xuất mặc định. Đề xuất mặc định là văn bản hiển thị trong hàng đề xuất đầu tiên bên dưới thanh URL.

Tham số

  • đề xuất

    Một đối tượng AssetResult một phần, không có tham số "content".

  • số gọi lại

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

    Chrome 100 trở lên

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

    ()=>void

Giá trị trả về

  • Promise<void>

    Chrome 100 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

onDeleteSuggestion

Chrome 63 trở lên
chrome.omnibox.onDeleteSuggestion.addListener(
  callback: function,
)

Người dùng đã xoá kết quả được đề xuất.

Tham số

  • số gọi lại

    hàm

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

    (text: string)=>void

    • văn bản

      string

onInputCancelled

chrome.omnibox.onInputCancelled.addListener(
  callback: function,
)

Người dùng đã kết thúc phiên nhập từ khoá mà không chấp nhận thông tin nhập vào.

Tham số

  • số gọi lại

    hàm

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

    ()=>void

onInputChanged

chrome.omnibox.onInputChanged.addListener(
  callback: function,
)

Người dùng đã thay đổi nội dung được nhập vào thanh địa chỉ.

Tham số

  • số gọi lại

    hàm

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

    (text: string,suggest: function)=>void

    • văn bản

      string

    • đề xuất

      hàm

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

      (suggestResults: SuggestResult[])=>void

onInputEntered

chrome.omnibox.onInputEntered.addListener(
  callback: function,
)

Người dùng đã chấp nhận nội dung được nhập vào thanh địa chỉ.

Tham số

onInputStarted

chrome.omnibox.onInputStarted.addListener(
  callback: function,
)

Người dùng đã bắt đầu phiên nhập từ khoá bằng cách nhập từ khoá của phần mở rộng. Mã này được đảm bảo được gửi chính xác một lần cho mỗi phiên nhập và trước mọi sự kiện onInputChanged.

Tham số

  • số gọi lại

    hàm

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

    ()=>void