browser.omnibox

Mô tả

API thanh địa chỉ cho phép bạn đăng ký một từ khoá với thanh địa chỉ của Google Chrome, 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 trên Chromium"

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

Nội dung đề xuất có thể được định dạng theo nhiều cách. Khi người dùng chấp nhận một đề 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 manifest để sử dụng API thanh địa chỉ. Bạn cũng nên chỉ định một biểu tượng 16 x 16 pixel. Biểu tượng này sẽ xuất hiện trên 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ỉ từ kho lưu trữ chrome-extension-samples.

Loại

DefaultSuggestResult

Một kết quả đề xuất.

Thuộc tính

  • mô tả

    chuỗi

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

DescriptionStyleType

Trình duyệt Chrome 44 trở lên .* kể từ Chrome 148

Loại kiểu.

Enum

"url"

"match"

"dim"

OnInputEnteredDisposition

Trình duyệt Chrome 44 trở lên .* kể từ Chrome 148

Cách sắp xếp cửa sổ cho cụm từ tìm kiếm trên thanh địa chỉ. Đây là bối cảnh nên dùng để hiển thị kết quả. Ví dụ: nếu lệnh thanh địa chỉ là chuyển đến một URL nhất định, thì việc xử lý "newForegroundTab" có nghĩa là quá trình điều hướng sẽ diễn ra trong một thẻ mới được chọn.

Enum

"currentTab"

"newForegroundTab"

"newBackgroundTab"

SuggestResult

Một kết quả đề xuất.

Thuộc tính

  • nội dung

    chuỗi

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

  • có thể xoá

    boolean không bắt buộc

    Chrome 63 trở lên trình duyệt.* kể từ Chrome 148

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

  • mô tả

    chuỗi

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

Phương thức

setDefaultSuggestion()

browser.omnibox.setDefaultSuggestion(
  suggestion: DefaultSuggestResult,
)
: Promise<void>

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

Thông số

  • đề xuất

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

Giá trị trả về

  • Promise<void>

    Chrome 100 trở lên trình duyệt.* kể từ Chrome 148

Sự kiện

onDeleteSuggestion

Chrome 63 trở lên trình duyệt.* kể từ Chrome 148
browser.omnibox.onDeleteSuggestion.addListener(
  callback: function,
)

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

Thông số

  • callback

    hàm

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

    (text: string) => void

    • văn bản

      chuỗi

onInputCancelled

browser.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 dữ liệu đầu vào.

Thông số

  • callback

    hàm

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

    () => void

onInputChanged

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

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

Thông số

  • callback

    hàm

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

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

    • văn bản

      chuỗi

    • đề xuất

      hàm

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

      (suggestResults: SuggestResult[]) => void

onInputEntered

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

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

Thông số

onInputStarted

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

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

Thông số

  • callback

    hàm

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

    () => void