Browser Extension v2 ominbox

extension

Browser Extension v2 ominbox

omnibox 多功能框实际是指浏览器的地址栏,让用户在地址栏输入该关键字时并按 Tab 键触发插件的相应 actions,如提供搜索建议。

我们可以在 manifest.json 中设置 omnibox 属性,配置一个关键字,让用户在地址栏输入该关键字时并按 Tab 键触发插件的相应 actions,如提供搜索建议。

manifest.json
json
// ...
  "omnibox": {
    "keyword": "a2z"   // 只能设置一个关键字
  }
background.js
js
// 用户要先在在地址栏输入关键字并按 Tab 键插画该软件的 omnibox

// 注册监听 onInputChanged 事件,当用户在地址栏输入匹配的内容就会显示搜索建议
chrome.omnibox.onInputChanged.addListener((text, suggest) => {
    console.log('inputChanged: ' + text);
    if(!text) return;
    if(text == 'google') {
        suggest([
            {content: text + 'map', description: text + 'map'},
            {content: text + 'gmail', description: text + 'gmail'},
        ]);
    }
    else {
        suggest([
            {content: '必应搜索 ' + text, description: '必应搜索 ' + text},
        ]);
    }
});

// 注册监听 onInputEntered 事件,当用户输入在地址栏按下 enter 时触发该 action
chrome.omnibox.onInputEntered.addListener(omniChanged);

function omniChanged(text) {
  // 当用户输入在地址栏按下 enter 时会指向该回调函数
  // 参数 text 是用户在地址栏输入的内容
  // You could open a new tab on a specific page that uses that text
  // or send a message to a content script
  // etc.
}

Copyright © 2024 Ben

Theme BlogiNote

Icons from Icônes