在chrome上下文菜单标题中显示&符号

时间:2012-08-04 20:43:48

标签: google-chrome google-chrome-extension

我一直在研究一个带有问题的小型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
}

messages.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事件中,我得到正确的文本(即'science& ;技术')。所以我的搜索工作正常。问题是文本在上下文菜单中显示为标题。

2 个答案:

答案 0 :(得分:2)

我看过这个,你可能想在http://crbug.com/报告一个错误,如果一个错误已经存在(具有'快速'外观并且找不到任何东西)。这个'bug'似乎适用于本地化和上下文菜单标题。如果您只使用一个&符号,也不会显示&符号,要么显示一个&符号似乎您必须使用两个&&然后它将显示为&(在您的错误报告中,请提及此也没有在文档中解释过)。但是,由于你不能在显示之前更改%s的内容,我不知道你将如何处理它......除非你没有使用%s并且每次他们选择了某些内容时自己更新了标题页。

答案 1 :(得分:0)

也许它被渲染为html?

尝试“Science & Technology