3

私は小さな Chrome 拡張機能に取り組んでいますが、問題があります。頭がよくわからないので、新しい視点で見てくれる人に感謝します。

目標は、特定の Web サイトでテキストを選択し、コンテキスト メニュー項目を使用して検索のために選択内容を別の Web サイトに送信するオプションを表示できるようにする Chrome 拡張機能を作成することです。

私の manifest.json (v2) は次のようになります。

{
   "name": "simple ext",
   "version": "0.0.1.0",
   "description": "this is a test",
   "background": {
        "scripts": ["js/test.js"]
   },
   "default_locale": "en",
   "manifest_version": 2
}

メッセージ.json:

{
"contextMenuTitle": {
        "message": "Search for '$searchStr$'"
        "placeholders":{
            "searchStr": {
                "content": "$1"
            }
        }
}
}

そしてjs/test.js:

chrome.contextMenus.create({
       "title": chrome.i18n.getMessage("contextMenuTitle", "%s"),
       "contexts": ["selection"],
       "onclick" : function(e){
               if(e.selectionText){
                var searchURL = getSearchURL(e.selectionText);
                chrome.tabs.create({"url": searchURL});
                }
            }});

問題は、「サイエンス & テクノロジー」のようなテキストを選択すると、コンテキスト メニューに「「サイエンス テクノロジー」を検索」というテキストが表示されますが、onclick イベントでは正しいテキスト (「サイエンス & テクノロジー」) が表示されることです。したがって、私の検索は正しく機能します。問題は、テキストがコンテキスト メニューのタイトルとして表示されることです。

4

2 に答える 2

3

私はこれを見ましたが、まだバグが存在しない場合は、 http: //crbug.com/ でバグを報告することをお勧めします (「クイック」ルックで何も見つかりませんでした)。この「バグ」は、ローカライズとコンテキスト メニューのタイトルの両方に当てはまるようです。アンパサンドを 1 つしか使用しない場合はどちらもアンパサンドを表示しません。1 つを表示するには、2 つを使用する必要があるようで、次の&&ように表示さ&れます (バグ レポートで、これはドキュメントでも説明されていないことに言及してください)。しかし、表示される前に %s の内容を変更することはできないので、あなたがどのように対処するのかわかりません.... %s を使用せず、彼らが何かを選択するたびに自分でタイトルを更新しない限り.ページ。

于 2012-08-07T02:40:38.523 に答える
-1

おそらくそれはhtmlとしてレンダリングされていますか?

Science & Technology「 」を試してください

于 2012-08-04T20:50:38.273 に答える