Google Chrome'da sağ tıklama seçenekleri ekleyebilir miyim?


18

Google Chrome'da, bir metin parçası seçip sağ tıklarsam, şu seçeneği elde ederim:

'Google'da [metin] için arama yap'

Bunu son derece kullanışlı buluyorum, ancak kendi seçeneklerimi de ekleyebilmek istiyorum.

Örneğin, seçilen metni kullanarak amazon.co.uk'de arama yapma veya seçilen metni (yani bir adres veya posta kodu gibi) kullanarak doğrudan Google haritalarına gitme özelliğini eklemek istiyorum.

Bu tür PhraseExpress kullanarak eklemek tür ama daha doğrusu doğrudan Chrome'dan yapmak mümkün - mümkün mü?

Yanıtlar:


12

Aşağıda, seçilen metin için sağ tıklama menüsüne seçenekler eklemek üzere Bağlam Menüleri API'sını kullanan ve kendi özel aramalarınızı tanımlamanıza izin veren bir uzantı var.

http://maps.google.com/maps?q=TESTSEARCHGoogle Haritalar ve http://www.amazon.co.uk/s/?url=search-alias%3Daps&field-keywords=TESTSEARCHAmazon.co.uk için deneyin .


Evet, bence bu tam olarak istediğimi yapıyor - teşekkürler. Bu arada, seçilen kelimeyi veya ifadeyi kullanmak için dizelerinize TESTSEARCH terimini eklemeniz gerekiyor ve harika çalışıyor.
andygrunt

Cevabımı bunu yansıtacak şekilde düzenledim.
gdejohn

15

Son zamanlarda geliştirici ve beta kanallarında bir Bağlam Menüler API'si var. Sağ tıklama menüsüne seçenekler ekleyen kendi uzantılarınızı yazmak için kullanabilirsiniz. Bunun yalnızca Google Chrome sürüm 6 ve sonraki sürümlerinde çalışacağını unutmayın.

Resmi uzantı galerisinden bir örnek:

Ayrıca bu koda dayanarak üç tane yazdım:

Bağlantıları sağ tıklayıp Bağlantıyı Farklı Kaydet… seçeneğini tıklatarak , bilgisayarınızdaki dosyaları bularak ve bir Google Chrome penceresine sürükleyerek bunları kendi sorumluluğunuzda yükleyebilirsiniz .

API hakkında buradan bilgi edinin:

Kendi yazmak için, böyle bir şeye benzemesi gereken bir manifest.json dosyasına ihtiyacınız vardır:

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

Ayrıca, aşağıdaki gibi görünmesi gereken bir background.html dosyasına da ihtiyacınız vardır:

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

Son olarak, içerik menüsü için en az 16 × 16 piksel simgesine ve uzantı yönetimi sayfası için 48 × 48 piksel simgesine sahip olmalısınız. Ayrıca, yükleme sırasında gösterilen 128 × 128 piksel simgesini ve uzantınızı resmi galeriye göndermek istiyorsanız 32 × 32 piksel simgesini belirleyebilirsiniz. Tüm simgelerin manifest.json içinde listelenmesi gerekir. Dosya türlerinin ve adlarının eşleştiğinden emin olun.

İkonları, background.html ve manifest.json'u bir klasöre bir araya getirin, ardından adresindeki uzantılar yönetim sayfasına gidin chrome://extensions, Geliştirici modu'na bakın (bunun görünmesi için beta kanalını veya daha üstünü çalıştırmanız gerektiğini düşünüyorum), tıklayın Paketi uzantısı ... yanındaki Uzantı kök dizinine tıklayın ... İnsanlar , bulun ve tıklama yapılan klasörü seçin Tamam Google Chrome penceresine ve sürükle çıkan .crx dosyayı.


Bu Charlatan için teşekkürler. Yeni API'yı duymuştum ama son cevap olarak buraya göndermeden önce dileklerimi yerine getiren uzantıyı bulana kadar bekliyordum. Bunu yapmak için benden çok daha iyi insanlar olduğu için kendimi yapmaya çalışacağımdan şüpheliyim. Belki 'Bağlam Araması' uzantısının yazarı, yeni API'yı kullanmak için onu yeniden yazacaktır.
andygrunt

Rica ederim. Yukarıdaki örnekleri diğer sitelere uyarlamak gerçekten çok kolay. Çalıştırmak için tek yapmanız gereken URL'yi değiştirmek. Diğer her şey sadece güzel yapıyor. Google Haritalar'da arama yapmak için cevabımdaki kodu düzenledim. Sadece beş şeyi değiştirmek zorunda kaldım.
gdejohn

Chrome uzantılarında bazı değişikliklerin olduğunu, yani manifest.jsonşimdi sürüm 2 olduğunu ve bu özelliklerin çoğunun değiştiğini unutmayın.
Jason

Dropbox'a bağlantınız koptu. Güncellemek ister misiniz?
Bob Hopez

@BobHopez Bu uzantılar, son dokuz yılda Chrome'daki tüm değişikliklerle artık çalışmıyor.
gdejohn

5

Sağ tıklama menüsüne hiçbir şey eklememesi dışında istediğiniz şeyi yapan bir Bağlam Araması uzantısı vardır; bunun yerine, sayfada bir metin parçası seçtikten sonra yanında mavi üçgen bulunan küçük bir düğme gösterilir ve üzerine tıklandığında menü açılır. alternatif metin


Mükemmel. Bu istediğimin% 99'unu yapıyor. Söylediğiniz gibi, seçenekleri sağ tıklama menüsüne eklemez, ancak daha da önemlisi, her yerde çalışmaz, örneğin Google arama kutusuna bir şeyler yazın, seçin ve düğme görünmez. Hala sağ tıklama menüsüne seçenekler eklemek mümkün olup olmadığını duymak istiyorum ama bu devam edecek. Teşekkürler.
andygrunt

AFAIK, Chrome yerel menülerine (sağ üstteki "Seçenekler" menüsü gibi) seçenek eklemenin bir yolu yoktur çünkü uzantılar yalnızca DOM'u değiştirebilir ve pop-up'ları görüntüleyebilir. Muhtemelen, platformlar arası daha iyi uyumluluk sağlamak için kasıtlı bir seçimdi.
whitequark

1
Firefox'a bağlı olmamın bir nedeni bu.
CGA

@CGA: Firefox güzel, ve yıllarca kullandım, ama Atom 2x1600 netbook'ta çok fazla boş.
whitequark

Orada sana katılmıyorum.
CGA

1

Özel Sağ Tıklama Menüsü adlı bir uzantıdan keyif alıyorum Tamamen yapılandırılabilir sağ tıklatma menüsü öğeleri oluşturmanıza olanak tanır ve hatta diğer tarayıcılarda çalışır (Opera: Chrome Uzantılarını Yükle , Firefox: Chrome Store Foxified ).

  • Chrome Mağazası'ndan "Özel Sağ Tıklama Menüsü" nü yükleyin
  • Özel Sağ Tıklama Menüsünü Açma Seçenekleri
  • CRM'yi düzenleme bölümünde Seçim'i seçin
  • Sık Kullanılan Arama Motorlarına ilerleyin ve bir tane ekleyin
  • Bu arama motorunu CRM Düzenleme bölümüne ekler.
  • Düzenlemek için dişli kutusuna değil tıklayın.
  • Adı "Arama amazon.co.uk" olarak değiştirin veya her neyse
  • Kodu şu şekilde değiştirin:

    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');
    }
    
  • Komut dosyası türünde başka bir menü öğesi oluşturun, buna "Google Map" veya başka bir ad verin ve aynı şekilde kodlayın:

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

0

"Bağlam Menüsü Arama" adlı bir uzantı var. URL'leri eklemenize olanak tanır ve ardından bir metin seçtiğinizde ve URL'lerden birini tıkladığınızda, o metni tıkladığınız URL'ye geçirir.

Örneğin, YouTube arama URL'si:

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

burada TESTSEARCH aramak istediğiniz metindir. Uzantıda, bu satırı eklersiniz ve TESTSEARCH tuşuna bastığınızda otomatik olarak seçilen metinle değiştirilir. Tabii ki her URL için bir etiket ekleyebilirsiniz.

İşte uzantının bağlantısı.

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


0

Merhaba ana soru cevaplandığından beri bir şeyle katkıda bulunmak istiyorum.

Bu, google ile ters görsel aramaya benzer basitçe değiştirilmiş bir komut dosyasıdır, ancak imglink.jpg dosyasını bir görüntünün EXIF'sini analiz etmek için Jeffrey's Exif Viewer'a yönlendirir.

Gdejohn'a teşekkürler .

Kolay, bu 2 dosyaları oluşturmak Not Defteri kullandım, bazı simgeleri ekleyin 16x16, 48x48 ve 128x128 (veya satır silme) ve chrome: // extensions / tick geliştirici moduna gidin dosyaları içeren klasörü ekleyin.

Dosyaadı: 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"
}

Dosyaadı: 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()
});
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.