我一直在开发一个小的 Chrome 扩展,但有一个问题:我似乎无法理解,希望有人能以全新的视角看待它。
目标是创建一个 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 事件中,我得到了正确的文本(即“科学与技术”)。所以我的搜索工作正常。问题在于文本在上下文菜单中显示为标题。