Bisakah saya menambahkan opsi klik kanan di Google Chrome?

18

Di Google Chrome, jika saya memilih sepotong teks dan klik kanan padanya, saya mendapatkan opsi untuk:

'Cari Google untuk [teks]'

Saya menemukan ini sangat berguna tetapi saya juga ingin dapat menambahkan opsi saya sendiri.

Misalnya, saya ingin menambahkan kemampuan untuk mencari amazon.co.uk menggunakan teks yang dipilih atau langsung ke peta Google menggunakan teks yang dipilih (yaitu alamat atau kode pos) dan sebagainya.

Saya dapat semacam menambahkan fungsi ini menggunakan PhraseExpress tetapi lebih suka dapat melakukannya langsung dari Chrome - apakah mungkin?

andygrunt
sumber

Jawaban:

12

Berikut ini adalah ekstensi yang menggunakan API Menu Konteks untuk menambahkan opsi ke menu klik kanan untuk teks yang dipilih dan memungkinkan Anda menentukan pencarian kustom Anda sendiri.

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

gdejohn
sumber
Ya, saya pikir ini melakukan persis apa yang saya inginkan - terima kasih. Ngomong-ngomong, perlu menambahkan istilah TESTSEARCH di string Anda untuk menggunakan kata atau frasa yang dipilih dan itu berfungsi dengan baik.
andygrunt
Saya telah mengedit jawaban saya untuk mencerminkan hal itu.
gdejohn
15

Ada API Menu Konteks yang tersedia di saluran pengembang dan beta baru-baru ini. Anda dapat menggunakannya untuk menulis ekstensi Anda sendiri yang menambahkan opsi ke menu klik kanan. Perhatikan bahwa ini hanya akan berfungsi untuk Google Chrome versi 6 dan lebih tinggi.

Berikut adalah contoh dari galeri ekstensi resmi:

Saya juga menulis sendiri tiga, berdasarkan kode itu:

Anda dapat menginstalnya dengan risiko sendiri dengan mengklik kanan tautan, mengklik Simpan Tautan Sebagai ... , menemukan file di komputer Anda, dan menyeretnya ke jendela Google Chrome.

Baca tentang API di sini:

Untuk menulis sendiri, Anda memerlukan file manifest.json, yang akan terlihat seperti ini:

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

Anda juga memerlukan file background.html, yang seharusnya terlihat seperti ini:

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

Terakhir, Anda harus memiliki setidaknya ikon 16x16 piksel untuk menu konteks dan ikon 48x48 piksel untuk halaman manajemen ekstensi. Anda juga dapat menentukan ikon 128 × 128 piksel, yang ditampilkan selama instalasi, dan ikon 32 × 32 piksel jika Anda ingin mengirimkan ekstensi Anda ke galeri resmi. Semua ikon Anda harus terdaftar dalam manifes.json. Pastikan jenis dan nama file cocok.

Letakkan ikon, background.html, dan manifes.json dalam satu folder bersama, lalu buka halaman manajemen ekstensi chrome://extensions, lihat di bawah mode Pengembang (saya pikir Anda perlu menjalankan saluran beta atau lebih tinggi untuk ini muncul), klik pada ekstensi Pack ... , di sebelah direktori Root ekstensi klik Browse ... , cari dan pilih folder yang Anda buat, klik OK , dan seret file .crx yang dihasilkan ke jendela Google Chrome Anda.

gdejohn
sumber
Terima kasih untuk Charlatan ini. Saya telah mendengar tentang API baru tetapi menunggu sampai saya menemukan ekstensi yang memenuhi keinginan saya sebelum mempostingnya di sini sebagai jawaban akhir. Saya sangat ragu saya akan mencoba membuatnya sendiri karena ada orang yang jauh lebih baik untuk melakukannya daripada saya. Mungkin penulis ekstensi 'Pencarian Konteks' akan menulis ulang untuk menggunakan API baru.
andygrunt
Sama-sama. Sangat mudah untuk mengadaptasi contoh di atas untuk situs lain. Yang harus Anda lakukan untuk membuatnya berfungsi adalah mengubah URL. Yang lainnya hanya membuatnya cantik. Saya telah mengedit kode dalam jawaban saya untuk bekerja untuk mencari Google Maps. Hanya harus mengubah lima hal.
gdejohn
Perhatikan bahwa ada beberapa perubahan pada ekstensi chrome, yaitu manifest.jsonsekarang versi 2 dan banyak hal ini telah berubah.
Jason
Tautan Anda ke Dropbox rusak. Bersedia memperbarui?
Bob Hopez
@BobHopez Ekstensi itu tidak lagi berfungsi dengan semua perubahan pada Chrome dalam sembilan tahun terakhir.
gdejohn
5

Ada ekstensi Pencarian Konteks yang melakukan apa yang Anda inginkan dengan pengecualian bahwa itu tidak menambahkan apa pun ke menu klik kanan; sebagai gantinya, setelah Anda memilih sepotong teks pada halaman, itu akan menampilkan tombol kecil dengan segitiga biru di sebelahnya, dan mengkliknya akan muncul menu. teks alternatif

whitequark
sumber
Luar biasa. Ini melakukan 99% dari apa yang saya inginkan. Seperti yang Anda katakan, itu tidak menambahkan opsi ke menu klik kanan tetapi, yang lebih penting, itu tidak bekerja di mana-mana misalnya menulis sesuatu di kotak pencarian Google, pilih dan tombol tidak muncul. Saya masih ingin mendengar jika mungkin untuk menambahkan opsi ke menu klik kanan tetapi ini akan dilakukan untuk melanjutkan. Terima kasih.
andygrunt
AFAIK tidak ada cara untuk menambahkan opsi ke menu asli Chrome (seperti menu "Opsi" di kanan atas) karena ekstensi hanya dapat mengubah DOM dan menampilkan munculan. Mungkin itu adalah pilihan yang disengaja untuk mencapai kompatibilitas lintas-platform yang lebih baik.
whitequark
1
Ini adalah salah satu alasan saya tetap menggunakan Firefox.
CGA
@ CGA: Firefox itu bagus, dan saya menggunakannya selama bertahun-tahun, tetapi terlalu panjang untuk netbook Atom 2x1600.
whitequark
Tidak bisa tidak setuju dengan Anda di sana.
CGA
1

Saya telah menikmati ekstensi yang disebut Menu Klik Kanan Kustom. Ini memungkinkan Anda untuk membuat item menu klik kanan yang sepenuhnya dapat dikonfigurasi, dan bahkan berfungsi di browser lain (Opera: Instal Chrome Extensions , Firefox: Chrome Store Foxified ).

  • Pasang "Menu Klik Kanan Ubahsuaian" dari Toko Chrome
  • Buka Opsi untuk Menu Klik Kanan Kustom
  • Di bagian Mengedit CRM, pilih Pilihan
  • Gulir ke bawah ke Mesin Pencari yang Umum Digunakan, dan tambahkan satu
  • Itu menambahkan bahwa mesin pencari di bagian Mengedit CRM.
  • Klik padanya, bukan pada girnya, untuk mengeditnya.
  • Ubah nama menjadi "Cari amazon.co.uk" atau apa pun
  • Ubah kode menjadi

    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');
    }
    
  • Buat item menu lain dari jenis skrip, sebut saja "Google Map" atau apa pun, dan beri kode dengan cara yang sama:

    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');
    }
    
undrline
sumber
0

Ada ekstensi yang disebut "Pencarian Menu Konteks". Ini memungkinkan Anda menambahkan URL ke dalamnya, dan kemudian ketika Anda memilih teks, dan mengklik salah satu URL, itu meneruskan teks itu ke URL yang Anda klik.

Misalnya, URL pencarian untuk YouTube adalah:

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

di mana TESTSEARCH adalah teks yang ingin Anda cari. Dalam ekstensi, Anda menambahkan baris ini dan itu akan secara otomatis mengganti TESTSEARCH dengan teks yang dipilih saat Anda menekannya. Anda tentu saja dapat menambahkan label untuk setiap URL.

Ini tautan ke ekstensi.

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

Amjad Abu Saa
sumber
0

Hai karena pertanyaan utama telah dijawab, saya ingin berkontribusi dengan sesuatu.

Ini adalah skrip yang dimodifikasi sederhana mirip dengan membalikkan pencarian gambar dengan google tetapi mengarahkan imglink.jpg ke Jeffrey's Exif Viewer untuk menganalisis EXIF ​​suatu gambar.

Terima kasih gdejohn .

Mudah, buat 2 file ini saya menggunakan notepad, tambahkan beberapa ikon 16x16, 48x48 dan 128x128 (atau hapus baris) dan pergi ke chrome: // ekstensi / centang mode pengembang tambahkan folder yang berisi file.

Nama file: 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"
}

Nama file: 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
sumber