私は小さな 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 イベントでは正しいテキスト (「サイエンス & テクノロジー」) が表示されることです。したがって、私の検索は正しく機能します。問題は、テキストがコンテキスト メニューのタイトルとして表示されることです。