Kann ich in Google Chrome Rechtsklickoptionen hinzufügen?

18

Wenn ich in Google Chrome einen Textabschnitt auswähle und mit der rechten Maustaste darauf klicke, kann ich Folgendes tun:

"Google nach [Text] durchsuchen"

Ich finde das äußerst nützlich, möchte aber auch meine eigenen Optionen hinzufügen können.

Zum Beispiel möchte ich die Möglichkeit hinzufügen, amazon.de mit dem ausgewählten Text zu durchsuchen oder mit dem ausgewählten Text (dh einer Adresse oder Postleitzahl) direkt zu Google Maps zu wechseln.

Ich kann diese Funktionalität mit PhraseExpress hinzufügen, aber ich möchte sie lieber direkt aus Chrome heraus ausführen. Ist das möglich?

andygrunt
quelle

Antworten:

12

Hier ist eine Erweiterung, die die Kontextmenü-API verwendet, um dem Kontextmenü Optionen für ausgewählten Text hinzuzufügen und Sie können Ihre eigenen benutzerdefinierten Suchvorgänge definieren.

Versuchen Sie es http://maps.google.com/maps?q=TESTSEARCHmit Google Maps und http://www.amazon.co.uk/s/?url=search-alias%3Daps&field-keywords=TESTSEARCHAmazon.de.

gdejohn
quelle
Ja, ich denke, das macht genau das, was ich will - danke. Übrigens müssen Sie den Begriff TESTSEARCH in Ihre Zeichenfolgen einfügen, um das ausgewählte Wort oder die ausgewählte Phrase zu verwenden, und es funktioniert hervorragend.
Andygrunt
Ich habe meine Antwort bearbeitet, um dies widerzuspiegeln.
Gdejohn
15

In den Entwickler- und Betakanälen ist seit kurzem eine Kontextmenü-API verfügbar. Sie können damit Ihre eigenen Erweiterungen schreiben, die dem Kontextmenü Optionen hinzufügen. Beachten Sie, dass dies nur für Google Chrome ab Version 6 funktioniert.

Hier ist ein Beispiel aus der offiziellen Erweiterungsgalerie:

Ich habe auch drei eigene geschrieben, die auf diesem Code basieren:

  • TinEye-Rechtsklick ( Führen Sie eine umgekehrte Bildsuche bei TinEye durch, indem Sie mit der rechten Maustaste klicken)
  • Wikipedia- Rechtsklick (Suche nach Artikeln über ausgewählten Text bei Wikipedia mit Rechtsklick)
  • Merriam-Webster -Rechtsklick (Definition des ausgewählten Texts bei Merriam-Webster mit Rechtsklick nachschlagen)

Sie können diese auf eigenes Risiko installieren, indem Sie mit der rechten Maustaste auf die Links klicken, auf Link speichern unter ... klicken , die Dateien auf Ihrem Computer suchen und in ein Google Chrome-Fenster ziehen.

Lesen Sie hier mehr über die API:

Zum Schreiben Ihrer eigenen Datei benötigen Sie eine manifest.json-Datei, die ungefähr so ​​aussehen sollte:

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

Sie benötigen auch eine background.html -Datei, die ungefähr so ​​aussehen sollte:

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

Schließlich sollten Sie mindestens ein 16 × 16-Pixel-Symbol für das Kontextmenü und ein 48 × 48-Pixel-Symbol für die Erweiterungsverwaltungsseite haben. Sie können auch ein 128 × 128-Pixel-Symbol angeben, das während der Installation angezeigt wird, und ein 32 × 32-Pixel-Symbol, wenn Sie Ihre Erweiterung an die offizielle Galerie senden möchten. Alle Ihre Symbole müssen in manifest.json aufgelistet sein. Stellen Sie sicher, dass Dateitypen und Namen übereinstimmen.

Setzen Sie die Symbole, background.html und manifest.json in einem Ordner zusammen, dann gehen Sie auf die Erweiterungen Verwaltungsseite auf chrome://extensions, Blick unter Entwicklermodus (ich glaube , Sie brauchen hierfür die Beta - Kanal oder höher ausgeführt werden , zeigen), Klicken Sie auf " Erweiterung packen". Klicken Sie neben " Stammverzeichnis der Erweiterung" auf " Durchsuchen". Suchen Sie den von Ihnen erstellten Ordner und wählen Sie ihn aus. Klicken Sie auf " OK" und ziehen Sie die resultierende CRX-Datei in Ihr Google Chrome-Fenster.

gdejohn
quelle
Danke für diesen Charlatan. Ich hatte von der neuen API gehört, aber gewartet, bis ich die Erweiterung gefunden hatte, die meinen Wünschen entsprach, bevor ich sie hier als endgültige Antwort veröffentlichte. Ich bezweifle sehr, dass ich versuchen werde, meine eigenen zu machen, da es weitaus bessere Leute gibt, die das tun als ich. Möglicherweise schreibt der Autor der Erweiterung "Kontextsuche" diese um, um die neue API zu verwenden.
Andygrunt
Bitte. Es ist wirklich sehr einfach, die obigen Beispiele für andere Sites anzupassen. Alles, was Sie tun müssen, um es zum Laufen zu bringen, ist die URL zu ändern. Alles andere macht es nur hübsch. Ich habe den Code in meiner Antwort bearbeitet, um Google Maps durchsuchen zu können. Musste nur fünf Dinge ändern.
Gdejohn
Beachten Sie, dass es einige Änderungen an Chrome-Erweiterungen gibt, nämlich, dass manifest.jsones sich nun um Version 2 handelt und viele dieser Dinge geändert wurden.
Jason
Deine Links zu Dropbox sind kaputt. Bereit zum Update?
Bob Hopez
@BobHopez Diese Erweiterungen funktionieren nicht mehr mit allen Änderungen an Chrome in den letzten neun Jahren.
Gdejohn
5

Es gibt eine Erweiterung für die Kontextsuche , die genau das tut, was Sie möchten, mit der Ausnahme, dass sie dem Kontextmenü nichts hinzufügt. Nachdem Sie einen Textabschnitt auf der Seite ausgewählt haben, wird eine kleine Schaltfläche mit einem blauen Dreieck daneben angezeigt. Wenn Sie darauf klicken, wird ein Popup-Menü angezeigt. Alt-Text

Whitequark
quelle
Ausgezeichnet. Das macht 99% von dem, was ich will. Wie Sie sagen, werden die Optionen nicht zum Rechtsklick-Menü hinzugefügt, aber was noch wichtiger ist, es funktioniert nicht überall. Schreiben Sie etwas in das Google-Suchfeld, wählen Sie es aus und die Schaltfläche wird nicht angezeigt. Ich würde immer noch gerne hören, ob es möglich ist, die Optionen zum Rechtsklick-Menü hinzuzufügen, aber dies reicht aus, um weiterzumachen. Vielen Dank.
Andygrunt
AFAIK: Es gibt keine Möglichkeit, Optionen zu nativen Chrome-Menüs hinzuzufügen (wie das Menü "Optionen" oben rechts), da Erweiterungen nur DOM optimieren und Popups anzeigen können. Wahrscheinlich war dies eine absichtliche Entscheidung, um eine bessere plattformübergreifende Kompatibilität zu erreichen.
Whitequark
1
Dies ist ein Grund, warum ich mich an Firefox halte.
CGA
@CGA: Firefox ist nett und ich habe es jahrelang benutzt, aber auf Atom 2x1600 Netbooks ist es wahrscheinlich zu langsam.
Whitequark
Ich kann dir da nicht widersprechen.
CGA
1

Ich habe eine Erweiterung namens " Benutzerdefiniertes Rechtsklick-Menü" verwendet Rechtsklick-Menü" verwendet. Sie ermöglicht das Erstellen vollständig konfigurierbarer Rechtsklick- Menüelemente und funktioniert sogar in anderen Browsern (Opera: Chrome-Erweiterungen installieren , Firefox: Chrome Store Foxified ).

  • Installieren Sie "Benutzerdefiniertes Rechtsklick-Menü" aus dem Chrome Store
  • Öffnen Sie die Optionen für das benutzerdefinierte Kontextmenü
  • Wählen Sie im Bereich CRM bearbeiten die Option Auswahl
  • Scrollen Sie nach unten zu "Häufig verwendete Suchmaschinen" und fügen Sie eine hinzu
  • Diese Suchmaschine wird im Abschnitt Bearbeiten des CRM hinzugefügt.
  • Klicken Sie darauf, nicht auf sein Zahnrad, um es zu bearbeiten.
  • Ändern Sie den Namen in "Search amazon.co.uk" oder was auch immer
  • Ändern Sie den Code in

    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');
    }
    
  • Erstellen Sie ein anderes Menüelement des Skripttyps, nennen Sie es "Google Map" oder was auch immer, und codieren Sie es auf die gleiche Weise:

    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');
    }
    
unterstrichen
quelle
0

Es gibt eine Erweiterung namens "Kontextmenüsuche". Hiermit können Sie URLs hinzufügen. Wenn Sie dann einen Text auswählen und auf eine der URLs klicken, wird dieser Text an die URL übergeben, auf die Sie geklickt haben.

Die Such-URL für YouTube lautet beispielsweise:

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

Dabei ist TESTSEARCH der Text, nach dem Sie suchen möchten. In der Erweiterung fügen Sie diese Zeile hinzu, und TESTSEARCH wird automatisch durch den ausgewählten Text ersetzt, wenn Sie darauf drücken. Sie können natürlich für jede URL eine Beschriftung hinzufügen.

Hier ist der Link zur Erweiterung.

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

Amjad Abu Saa
quelle
0

Hallo zusammen, da die Hauptfrage beantwortet wurde, möchte ich mit etwas beitragen.

Dies ist ein einfach modifiziertes Skript, das der umgekehrten Bildsuche mit Google ähnelt, imglink.jpg jedoch an Jeffreys Exif Viewer weiterleitet, um das EXIF ​​eines Bildes zu analysieren.

Danke an gdejohn .

Einfach, erstellen Sie diese 2 Dateien, die ich mit dem Editor erstellt habe, fügen Sie einige Symbole 16x16, 48x48 und 128x128 hinzu (oder löschen Sie die Zeile) und gehen Sie zu chrome: // extensions / tick developer mode. Fügen Sie den enthaltenen Ordner der Dateien hinzu.

Dateiname: 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"
}

Dateiname: 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
quelle