Posso adicionar opções de clique com o botão direito do mouse no Google Chrome?

18

No Google Chrome, se eu selecionar um pedaço de texto e clicar com o botão direito do mouse, tenho a opção de:

'Pesquisar no Google por [texto]'

Acho isso extremamente útil, mas também gostaria de poder adicionar minhas próprias opções.

Por exemplo, eu gostaria de adicionar a capacidade de pesquisar amazon.co.uk usando o texto selecionado ou ir diretamente para o Google Maps usando o texto selecionado (por exemplo, um endereço ou código postal) e assim por diante.

Posso adicionar essa funcionalidade usando o PhraseExpress, mas preferiria fazê-lo diretamente do Chrome - é possível?

andygrunt
fonte

Respostas:

12

Aqui está uma extensão que usa a API de menus de contexto para adicionar opções ao menu do botão direito do mouse para o texto selecionado e permite definir suas próprias pesquisas personalizadas.

Experimente o http://maps.google.com/maps?q=TESTSEARCHGoogle Maps e http://www.amazon.co.uk/s/?url=search-alias%3Daps&field-keywords=TESTSEARCHa Amazon.co.uk.

gdejohn
fonte
Sim, acho que isso faz exatamente o que eu quero - obrigado. A propósito, é necessário adicionar o termo TESTSEARCH em suas strings para usar a palavra ou frase selecionada e ele funciona muito bem.
precisa saber é o seguinte
Eu editei minha resposta para refletir isso.
Gdejohn 19/09
15

Há uma API de menus de contexto disponível nos canais beta e de desenvolvedor recentemente. Você pode usá-lo para escrever suas próprias extensões que adicionam opções ao menu do botão direito. Observe que isso funcionará apenas para o Google Chrome versão 6 e superior.

Aqui está um exemplo da galeria oficial de extensões:

Eu também escrevi três dos meus, com base nesse código:

Você pode instalá-los por sua conta e risco, clicando com o botão direito do mouse nos links, clicando em Salvar link como ... , localizando os arquivos no seu computador e arrastando-os para uma janela do Google Chrome.

Leia sobre a API aqui:

Para escrever seu próprio, você precisa de um arquivo manifest.json, que deve ser algo como isto:

{
   "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"
}

Você também precisa de um arquivo background.html, que deve ser algo como isto:

<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>

Por fim, você deve ter pelo menos um ícone de 16 × 16 pixels para o menu de contexto e um ícone de 48 × 48 pixels para a página de gerenciamento de extensões. Você também pode especificar um ícone de 128 × 128 pixels, que é mostrado durante a instalação, e um ícone de 32 × 32 pixels, se desejar enviar sua extensão para a galeria oficial. Todos os seus ícones precisam estar listados no manifest.json. Verifique se os nomes e tipos de arquivo estão em conformidade.

Coloque os ícones background.html e manifest.json em uma pasta juntos, depois vá para a página de gerenciamento de extensões chrome://extensions, procure no modo Desenvolvedor (acho que você precisa estar executando o canal beta ou superior para que isso apareça), clique em Extensão do pacote… , ao lado de Diretório raiz da extensão, clique em Procurar… , localize e selecione a pasta criada, clique em OK e arraste o arquivo .crx resultante para a janela do Google Chrome.

gdejohn
fonte
Obrigado por este Charlatan. Eu tinha ouvido falar sobre a nova API, mas estava esperando até encontrar a extensão que atendia aos meus desejos antes de publicá-la aqui como resposta final. Duvido muito que tente fazer o meu próprio, pois há pessoas muito melhores para fazer isso do que eu. Talvez o autor da extensão 'Pesquisa de Contexto' a reescreva para fazer uso da nova API.
andygrunt
Seja bem-vindo. É realmente muito fácil adaptar os exemplos acima para outros sites. Tudo o que você precisa fazer para fazê-lo funcionar é alterar o URL. Tudo o resto é apenas torná-lo bonito. Editei o código na minha resposta para trabalhar na pesquisa do Google Maps. Só tive que mudar cinco coisas.
Gdejohn
Observe que existem algumas alterações nas extensões do Chrome, ou seja, que manifest.jsonagora é a versão 2 e muitas dessas coisas foram alteradas.
27412 Jason
Seus links para o Dropbox estão quebrados. Disposto a atualizar?
Bob Hopez 13/03/19
@BobHopez Essas extensões não funcionam mais com todas as alterações no Chrome nos últimos nove anos.
gdejohn
5

Há uma extensão de pesquisa de contexto que faz o que você deseja, com exceção de que não adiciona nada ao menu do botão direito; em vez disso, depois de selecionar um pedaço de texto na página, ele exibirá um pequeno botão com um triângulo azul ao lado e, ao clicar nele, o menu pop-up será exibido. texto alternativo

whitequark
fonte
Excelente. Isso faz 99% do que eu quero. Como você diz, ele não adiciona as opções ao menu do botão direito, mas, o mais importante, não funciona em todos os lugares, por exemplo, escreva algo na caixa de pesquisa do Google, selecione-o e o botão não aparece. Eu ainda gostaria de saber se é possível adicionar as opções ao menu do botão direito, mas isso será útil para continuar. Obrigado.
precisa saber é o seguinte
No AFAIK, não há como adicionar opções aos menus nativos do Chrome (como o menu "Opções" no canto superior direito) porque as extensões podem apenas ajustar o DOM e exibir pop-ups. Provavelmente essa foi uma escolha intencional para obter melhor compatibilidade entre plataformas.
whitequark
1
Esta é uma das razões pelas quais estou aderindo ao Firefox.
CGA
@CGA: O Firefox é bom, e eu o uso há anos, mas é muito lento no netbook Atom 2x1600.
whitequark
Não posso discordar de você lá.
CGA
1

Apreciei uma extensão chamada menu de clique direito personalizado. Permite criar itens de menu totalmente configuráveis ​​com o botão direito e até funciona em outros navegadores (Opera: instalar extensões do Chrome , Firefox: Chrome Store Foxified ).

  • Instale o "Menu personalizado com o botão direito do mouse" na Chrome Store
  • Abra as opções para o menu do botão direito do mouse personalizado
  • Na seção Editando o CRM, selecione Seleção
  • Role para baixo até Mecanismos de pesquisa comumente usados ​​e adicione um
  • Ele adiciona esse mecanismo de pesquisa na seção Editando o CRM.
  • Clique nele, não na engrenagem, para editá-lo.
  • Mude o nome para "Pesquisar amazon.co.uk" ou o que for
  • Mude o código para

    var query;
    var url = "https://www.amazon.co.uk/s/ref=nb_sb_noss?url=search-alias%3Daps&field-keywords=%s";
    if (crmAPI.getSelection()) {
        query = crmAPI.getSelection();
    } else {
        query = window.prompt('Please enter a search query.');
    }
    if (query) {
        window.open(url.replace(/%s/g,query), '_blank');
    }
    
  • Crie outro item de menu do tipo de script, chame-o de "Google Map" ou qualquer outra coisa e codifique-o da mesma maneira:

    var query;
    var url = "https://www.google.com/maps/search/%s";
    if (crmAPI.getSelection()) {
        query = crmAPI.getSelection();
    } else {
        query = window.prompt('Please enter a search query.');
    }
    if (query) {
        window.open(url.replace(/%s/g,query), '_blank');
    }
    
sublinhar
fonte
0

Existe uma extensão chamada "Pesquisa de menu de contexto". Permite adicionar URLs a ele e, quando você seleciona um texto e clica em um dos URLs, ele passa o texto para o URL em que você clicou.

Por exemplo, o URL de pesquisa do YouTube é:

http://www.youtube.com/results?search_query=TESTSEARCH

onde TESTSEARCH é o texto que você deseja pesquisar. Na extensão, você adiciona esta linha e ela substituirá automaticamente TESTSEARCH pelo texto selecionado quando você a pressionar. É claro que você pode adicionar um rótulo para cada URL.

Aqui está o link para a extensão.

https://chrome.google.com/webstore/detail/ocpcmghnefmdhljkoiapafejjohldoga

Amjad Abu Saa
fonte
0

Olá, uma vez que a pergunta principal foi respondida, quero contribuir com algo.

Este é um script simplesmente modificado, semelhante à pesquisa reversa de imagens com o Google, mas redireciona o imglink.jpg para o Exif Viewer de Jeffrey para analisar o EXIF ​​de uma imagem.

Graças a gdejohn .

Fácil, crie esses 2 arquivos que usei o bloco de notas, adicione alguns ícones 16x16, 48x48 e 128x128 (ou exclua a linha) e vá para chrome: // extensions / tick developer mode adicione a pasta que contém os arquivos.

Nome do arquivo: manifest.json

{
"manifest_version": 2,
    "background" : { "scripts": ["background.js"] },
    "description": "Agrega un menu contextual para ver el EXIF de imagenes. Jeffrey's Exif Viewer",
    "icons": {
            "16": "icon16.png",
            "48": "icon48.png",
            "128": "icon128.png"
        },
   "minimum_chrome_version": "6",
   "name": "Regex Exif Viewer Right Click",
   "permissions": [ "contextMenus", "tabs", "http://*/*",
 "https://*/*" ],
   "version": "1.0"
}

Nome do arquivo: background.js

/**
 * Returns a handler which will open a new tab when activated.
 */


function getClickHandler() {
  return function(info, tab) {

    // The srcUrl property is only available for image elements.

var url = "http://regex.info/exif.cgi?imgurl=" + info.srcUrl;

    // Create a new tabto the info page.

chrome.tabs.create({ url: url, });
  };
};



/**
 * Create a context menu which will only show up for images.
 */


chrome.contextMenus.create({
  "title" : "Get image info via Jeffrey's Exif Viewer",
  "type" : "normal",
  "contexts" : ["image"],
  "onclick" : getClickHandler()
});
Pablo
fonte