我想显示一个不同的菜单选项,这取决于是否选择了一个数字或文本。
我试过玩内容脚本,但我无法让它们在gmail中工作,这正是我需要它工作的地方。下面是我所拥有的,它可以在gmail以外的站点上工作(这是https的东西吗?)
Background.html
<script src="driver.js"></script>
content_script.js
document.addEventListener("mousedown", function(event){
if(event.button == 2) {
var selection = window.getSelection().toString();
chrome.extension.sendRequest({cmd: selection});
}
}, true);driver.js
chrome.extension.onRequest.addListener(function(request) {
alert(request.cmd);
});manifest.json
{
"name": "Context Menu Search",
"description": "Opens the selected text as keyword in a new window",
"version": "0.1",
"permissions": ["contextMenus"],
"content_scripts": [
{
"matches": ["http://*/*","https://*/*"],
"js": ["content_script.js"]
}
],
"background_page": "background.html"
}发布于 2011-09-18 16:33:28
Selection type changes context menu using chrome extension
你必须为鼠标设置一个侦听器。在创建菜单之前,没有其他方法可以获得选定的文本。
请看这个问题:
chrome extension context menus, how to display a menu item only when there is no selection?
下面是代码的一部分,其余的都在链接处。
document.addEventListener("mousedown", function(event){
//right click
if(event.button == 2) {
if(window.getSelection().toString()) {
chrome.extension.sendRequest({cmd: "createSelectionMenu"});
} else {
chrome.extension.sendRequest({cmd: "createRegularMenu"});
}
}
}, true); https://stackoverflow.com/questions/7455359
复制相似问题