¿Puedo agregar opciones de clic derecho en Google Chrome?

18

En Google Chrome, si selecciono un fragmento de texto y hago clic con el botón derecho sobre él, obtengo la opción de:

'Buscar en Google [texto]'

Esto me parece extremadamente útil, pero también me gustaría poder agregar mis propias opciones.

Por ejemplo, me gustaría agregar la capacidad de buscar en amazon.co.uk usando el texto seleccionado o ir directamente a los mapas de Google usando el texto seleccionado (es decir, una dirección o código postal) y así sucesivamente.

Puedo agregar esta funcionalidad usando PhraseExpress, pero preferiría hacerlo directamente desde Chrome, ¿es posible?

andygrunt
fuente

Respuestas:

12

Aquí hay una extensión que usa la API de menús contextuales para agregar opciones al menú del botón derecho para el texto seleccionado y le permite definir sus propias búsquedas personalizadas.

Pruebe http://maps.google.com/maps?q=TESTSEARCHpara Google Maps y http://www.amazon.co.uk/s/?url=search-alias%3Daps&field-keywords=TESTSEARCHpara Amazon.co.uk.

gdejohn
fuente
Sí, creo que esto hace exactamente lo que quiero, gracias. Por cierto, necesita agregar el término BÚSQUEDA DE PRUEBA en sus cadenas para usar la palabra o frase seleccionada y funciona muy bien.
andygrunt
He editado mi respuesta para reflejar eso.
gdejohn
15

Hay una API de menús contextuales disponible en los canales de desarrollador y beta recientemente. Puede usarlo para escribir sus propias extensiones que agreguen opciones al menú del botón derecho. Tenga en cuenta que esto solo funcionará para Google Chrome versión 6 y superior.

Aquí hay un ejemplo de la galería de extensiones oficiales:

También escribí tres propios, basados ​​en ese código:

Puede instalarlos bajo su propio riesgo haciendo clic derecho en los enlaces, haciendo clic en Guardar enlace como ... , buscando los archivos en su computadora y arrastrándolos a una ventana de Google Chrome.

Lea sobre la API aquí:

Para escribir el suyo, necesita un archivo manifest.json, que debería verse así:

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

También necesita un archivo background.html, que debería verse así:

<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 último, debe tener al menos un icono de 16 × 16 píxeles para el menú contextual y un icono de 48 × 48 píxeles para la página de administración de extensiones. También puede especificar un icono de 128 × 128 píxeles, que se muestra durante la instalación, y un icono de 32 × 32 píxeles si desea enviar su extensión a la galería oficial. Todos sus íconos deben aparecer en manifest.json. Asegúrese de que los tipos de archivo y los nombres coincidan.

Coloque los íconos, background.html y manifest.json en una carpeta juntos, luego vaya a la página de administración de extensiones chrome://extensions, busque en Modo desarrollador (creo que necesita ejecutar el canal beta o superior para que aparezca), haga clic en Extensión de paquete ... , junto al directorio raíz de Extensión, haga clic en Examinar ... , busque y seleccione la carpeta que creó, haga clic en Aceptar y arrastre el archivo .crx resultante a su ventana de Google Chrome.

gdejohn
fuente
Gracias por este charlatán. Había escuchado sobre la nueva API pero estaba esperando hasta encontrar la extensión que cumplía mis deseos antes de publicarla aquí como la respuesta final. Dudo mucho que intente hacer la mía ya que hay muchas mejores personas para hacerlo que yo. Quizás el autor de la extensión 'Context Search' lo reescriba para hacer uso de la nueva API.
andygrunt
De nada. Es realmente muy fácil adaptar los ejemplos anteriores para otros sitios. Todo lo que tiene que hacer para que funcione es cambiar la URL. Todo lo demás solo lo hace bonito. Edité el código en mi respuesta para trabajar en la búsqueda de Google Maps. Solo tenía que cambiar cinco cosas.
gdejohn
Tenga en cuenta que hay algunos cambios en las extensiones de Chrome, a saber, que manifest.jsonahora es la versión 2 y muchas de estas cosas han cambiado.
Jason
Tus enlaces a Dropbox están rotos. Dispuesto a actualizar?
Bob Hopez
@BobHopez Esas extensiones ya no funcionan con todos los cambios en Chrome en los últimos nueve años.
gdejohn
5

Hay una extensión de búsqueda de contexto que hace lo que desea con la excepción de que no agrega nada al menú del botón derecho; en cambio, después de seleccionar un fragmento de texto en la página, se mostrará un pequeño botón con un triángulo azul al lado y al hacer clic en él aparecerá un menú emergente. texto alternativo

Whitequark
fuente
Excelente. Esto hace el 99% de lo que quiero. Como usted dice, no agrega las opciones al menú de clic derecho pero, lo que es más importante, no funciona en todas partes, por ejemplo, escriba algo en el cuadro de búsqueda de Google, selecciónelo y el botón no aparece. Todavía me gustaría saber si es posible agregar las opciones al menú del botón derecho, pero esto continuará. Gracias.
andygrunt
AFAIK no hay forma de agregar opciones a los menús nativos de Chrome (como el menú "Opciones" en la esquina superior derecha) porque las extensiones solo pueden modificar DOM y mostrar ventanas emergentes. Probablemente fue una elección intencional para lograr una mejor compatibilidad multiplataforma.
whitequark
1
Esta es una razón por la que me quedo con Firefox.
CGA
@CGA: Firefox es bueno, y lo usé durante años, pero está muy descuidado en el netbook Atom 2x1600.
whitequark
No puedo estar en desacuerdo contigo allí.
CGA
1

He estado disfrutando de una extensión llamada Menú de clic derecho personalizado Le permite crear elementos de menú de clic derecho totalmente configurables, e incluso funciona en otros navegadores (Opera: Instalar extensiones de Chrome , Firefox: Chrome Store Foxified ).

  • Instale el "Menú de clic derecho personalizado" de Chrome Store
  • Abra las opciones para el menú de clic derecho personalizado
  • En la sección Edición del CRM, seleccione Selección
  • Desplácese hacia abajo hasta Motores de búsqueda de uso común y agregue uno
  • Agrega ese motor de búsqueda en la sección Edición del CRM.
  • Haga clic en él, no en su equipo, para editarlo.
  • Cambie el nombre a "Buscar en amazon.co.uk" o lo que sea
  • Cambia el código a

    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');
    }
    
  • Cree otro elemento de menú del tipo de script, llámelo "Google Map" o lo que sea, y codifíquelo de la misma manera:

    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');
    }
    
desenredar
fuente
0

Hay una extensión llamada "Búsqueda de menú contextual". Le permite agregarle URL, y luego, cuando selecciona un texto y hace clic en una de las URL, pasa ese texto a la URL en la que hizo clic.

Por ejemplo, la URL de búsqueda para YouTube es:

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

donde TESTSEARCH es el texto que desea buscar. En la extensión, agrega esta línea y automáticamente reemplazará TESTSEARCH con el texto seleccionado cuando lo presione. Por supuesto, puede agregar una etiqueta para cada URL.

Aquí está el enlace a la extensión.

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

Amjad Abu Saa
fuente
0

Hola, ya que la pregunta principal ha sido respondida, quiero contribuir con algo.

Este es un script simplemente modificado similar a la búsqueda de imágenes inversa con google pero redirige imglink.jpg al Visor Exif de Jeffrey para analizar el EXIF ​​de una imagen.

Gracias a gdejohn .

Fácil, cree estos 2 archivos. Utilicé el bloc de notas, agregue algunos íconos 16x16, 48x48 y 128x128 (o elimine la línea) y vaya a chrome: // extensiones / tick desarrollador, agregue la carpeta que contiene los archivos.

Nombre de archivo: 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"
}

Nombre de archivo: 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
fuente