在 Google Chrome 中,如果我选择一段文本并右键单击它,我会看到以下选项:
“在 Google 上搜索 [文本]”
我发现这非常有用,但我还希望能够添加我自己的选项。
例如,我想添加使用选定文本搜索 amazon.co.uk 或使用选定文本(即地址或邮政编码)直接转到 Google 地图等的功能。
我可以使用以下方式添加此功能短语表达但更愿意直接从 Chrome 进行操作 - 可能吗?
答案1
这是一个扩展,它使用上下文菜单 API 向选定文本的右键菜单添加选项,并允许您定义自己的自定义搜索。
尝试http://maps.google.com/maps?q=TESTSEARCH
使用 Google Maps 和http://www.amazon.co.uk/s/?url=search-alias%3Daps&field-keywords=TESTSEARCH
Amazon.co.uk。
答案2
最近,开发人员和测试版渠道中推出了 Context Menus API。您可以使用它来编写自己的扩展程序,为右键菜单添加选项。请注意,这仅适用于 Google Chrome 6 及更高版本。
以下是来自官方扩展库的一个例子:
- Imgur 上传器(右键单击即可将图片上传至 Imgur)
我还基于该代码编写了三个自己的代码:
- TinEye 右键单击(在 TinEye 上单击鼠标右键,执行反向图像搜索)
- 维基百科右键单击(右键单击在维基百科上搜索关于所选文本的文章)
- 韦氏词典右键点击(右键单击 Merriam-Webster 查找所选文本的定义)
您可以自行承担风险,通过右键单击链接,单击保存链接为…,在计算机上找到文件,然后将其拖到 Google Chrome 窗口中。
在这里阅读有关 API 的信息:
要编写自己的文件,您需要一个 manifest.json 文件,它看起来像这样:
{
"background_page": "background.html",
"description": "Add a context menu item to search for selected text at Google Maps.",
"icons": {
"16": "icon16.png",
"48": "icon48.png"
},
"minimum_chrome_version": "6",
"name": "Google Maps Right Click",
"permissions": [ "contextMenus", "tabs" ],
"version": "1.0"
}
您还需要一个 background.html 文件,它看起来应该像这样:
<script>
function searchgooglemaps(info)
{
var searchstring = info.selectionText;
chrome.tabs.create({url: "http://maps.google.com/maps?q=" + searchstring})
}
chrome.contextMenus.create({title: "Search Google Maps", contexts:["selection"], onclick: searchgooglemaps});
</script>
最后,您至少应该有一个 16 × 16 像素的图标用于上下文菜单,一个 48 × 48 像素的图标用于扩展管理页面。您还可以指定一个 128 × 128 像素的图标(在安装过程中显示)和一个 32 × 32 像素的图标(如果您想将扩展提交到官方图库)。您的所有图标都需要列在 manifest.json 中。确保文件类型和名称匹配。
将图标、background.html 和 manifest.json 放在一个文件夹中,然后进入扩展管理页面chrome://extensions
,查看开发者模式(我认为你需要运行测试版或更高版本才能显示该功能),点击包装扩展…, 旁边扩展根目录点击浏览…,找到并选择您创建的文件夹,点击好的,然后将生成的 .crx 文件拖到您的 Google Chrome 窗口中。
答案3
有一个上下文搜索扩展可以满足您的要求,但有一个例外,它不会在右键菜单中添加任何内容;相反,在您选择页面上的一段文本后,它会显示一个旁边带有蓝色三角形的小按钮,单击它会弹出菜单。
答案4
有一个名为“上下文菜单搜索”的扩展。它允许您向其中添加 URL,然后当您选择文本并单击其中一个 URL 时,它会将该文本传递给您单击的 URL。
例如,YouTube 的搜索 URL 是:
其中 TESTSEARCH 是您要搜索的文本。在扩展中,您添加此行,当您按下它时,它会自动用所选文本替换 TESTSEARCH。当然,您可以为每个 URL 添加一个标签。
这是扩展的链接。
https://chrome.google.com/webstore/detail/ocpcmghnefmdhljkoiapafejjohldoga