【问题标题】:Showing ampersand in chrome context menu title在 chrome 上下文菜单标题中显示 & 符号
【发布时间】:2012-08-04 20:43:47
【问题描述】:

我一直在开发一个小型 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 事件中,我得到了正确的文本(即“科学与技术” ')。所以我的搜索工作正常。问题在于文本在上下文菜单中显示为标题。

【问题讨论】:

    标签: google-chrome google-chrome-extension


    【解决方案1】:

    我看过这个,你可能想在http://crbug.com/ 报告一个错误,如果一个不存在的话(有一个“快速”的外观并且找不到任何东西)。这个“错误”似乎适用于本地化和上下文菜单标题。如果您只使用一个,则两者都不会显示与号,要显示一个似乎您必须使用两个&&,然后它将显示为&(在您的错误报告中,提到这在文档)。但是由于您无法在显示之前更改 %s 的内容,所以我不知道您将如何处理它....除非您没有使用 %s 并且每次他们在页面。

    【讨论】:

    • 我在 Chrome 问题列表中报告了一个错误。我们会看看会发生什么。如果有人感兴趣,这是错误报告的link
    【解决方案2】:

    也许它被渲染为 html?

    试试“Science & Technology

    【讨论】:

    • 我试过了,还是不行。显示的文字是“Science amp;技术'
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-22
    • 1970-01-01
    • 1970-01-01
    • 2019-03-11
    • 2015-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多