3

Chromeオムニボックスに書かれているコンテンツを確認して、適切なページにリダイレクトしたいと思います。

それでも、 http://bugs.example.com/BUG-1234BUG-1234などにリダイレクトしたいので、特定のキーワードを使用することはできません。

これには正規表現があります(BUGパーツには多くの値が含まれる可能性があるため)。

これどうやってするの?

4

1 に答える 1

4

Chrome拡張機能は、Omniboxの助けを借りてあなたを助けることができます。

OmniboxBUG-1234に入力してヒットEnterしたときに正しく理解できた場合、WebページのURLは次のようになります。http://bugs.example.com/BUG-1234

デモンストレーション

私はキーワードを次のように使用しました

「キーワード」:「バグ」

バグ、機能ごとに変更できます。したがって、chrome OmniboxBに++Uと入力すると、検索プロバイダーはここに示すようにカスタムレイヤーを追加しますG

画像1)

開始画面

ここに示すように、1234と入力 して、Omniboxで提案されたURLを押すEnter か選択するとOpen Bug %s ?

画像2)

ここに画像の説明を入力してください

ここに示すようなURLでWebページが開きます。ここでhttp://bugs.example.com、テストURLとして使用しました。これは、さらに拡張できます。

画像3)

ここに画像の説明を入力してください

マニフェスト.json

バックグラウンドページとOmniboxをChrome拡張機能に登録し、関連する権限を追加しました。

{
    "name": "Bug Tracker",
    "description": "This integrates chrome omnibox with bug search",
    "version": "1",
    "manifest_version": 2,
    "background": {
        "scripts": [
            "background.js"
        ]
    },
    "omnibox": {
        "keyword": "BUG"
    },
    "permissions": [
        "<all_urls>"
    ]
}

background.js

カスタム提案のスクリプト

//Set Text to show for custom suggested URL(s)
chrome.omnibox.setDefaultSuggestion({
    "description": "Open Bug %s ?"
});

//Fired when Enter or a suggested Link is selected
chrome.omnibox.onInputEntered.addListener(function (bugId) {
    //Use your custom URL
    chrome.tabs.update({
        "url": "http://bugs.example.com/BUG-" + bugId
    }, function () {
        console.log("Bug Page is open");
    });
    console.log("Input Entered is " + bugId);
});

参考文献

于 2013-01-17T06:06:11.007 に答える