Chrome에서 마우스 오른쪽 버튼 클릭 옵션을 추가 할 수 있습니까?


18

Chrome에서 텍스트를 선택하고 마우스 오른쪽 버튼을 클릭하면 다음과 같은 옵션이 있습니다.

'[text]에 대한 Google 검색'

나는 이것이 매우 유용하다고 생각하지만 내 옵션을 추가하고 싶습니다.

예를 들어, 선택한 텍스트를 사용하여 amazon.co.uk를 검색하거나 선택한 텍스트 (예 : 주소 또는 우편 번호) 등을 사용하여 Google지도로 바로 이동하는 기능을 추가하고 싶습니다.

PhraseExpress를 사용 하여이 기능을 추가 할 수는 있지만 Chrome에서 직접 수행 할 수 있습니까? 가능합니까?

답변:


12

상황에 맞는 메뉴 API를 사용하여 선택한 텍스트의 마우스 오른쪽 버튼 메뉴에 옵션을 추가하고 사용자 정의 검색을 정의 할 수있는 확장이 있습니다.

http://maps.google.com/maps?q=TESTSEARCHGoogle Maps와 http://www.amazon.co.uk/s/?url=search-alias%3Daps&field-keywords=TESTSEARCHAmazon.co.uk를 사용해보십시오 .


예, 이것이 내가 원하는 것을 정확하게 수행한다고 생각합니다-감사합니다. 그런데 선택한 단어 나 문구를 사용하려면 문자열에 TESTSEARCH라는 용어를 추가해야합니다.
andygrunt

그것을 반영하기 위해 답변을 편집했습니다.
gdejohn

15

최근 개발자 및 베타 채널에서 컨텍스트 메뉴 API를 사용할 수 있습니다. 이를 사용하여 오른쪽 클릭 메뉴에 옵션을 추가하는 고유 한 확장을 작성할 수 있습니다. 이것은 Chrome 버전 6 이상에서만 작동합니다.

공식 확장 프로그램 갤러리의 예는 다음과 같습니다.

  • Imgur Uploader (오른쪽 클릭으로 이미지를 Imgur에 업로드)

또한 그 코드를 기반으로 세 가지를 작성했습니다.

링크를 마우스 오른쪽 단추로 클릭하고 다른 이름으로 링크 저장…을 클릭 하고 컴퓨터에서 파일을 찾은 다음 Google 크롬 창으로 드래그 하여 위험에 처한 사용자를 설치할 수 있습니다 .

여기서 API에 대해 읽으십시오.

직접 작성하려면 manifest.json 파일이 필요합니다.

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

또한 다음과 같은 background.html 파일이 필요합니다.

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

마지막으로, 상황에 맞는 메뉴에는 16x16 픽셀 아이콘, 확장 관리 페이지에는 48x48 픽셀 아이콘이 있어야합니다. 설치 중에 표시되는 128 × 128 픽셀 아이콘과 공식 갤러리에 확장 프로그램을 제출하려면 32 × 32 픽셀 아이콘을 지정할 수도 있습니다. 모든 아이콘이 manifest.json에 나열되어야합니다. 파일 형식과 이름이 일치하는지 확인하십시오.

아이콘, background.html 및 manifest.json을 폴더에 함께 넣은 다음의 확장 프로그램 관리 페이지로 이동하여 개발자 모드를chrome://extensions 봅니다 (베타 채널을 실행하려면이 버전이 표시되어야합니다). Pack extension…을 클릭 하고 Extension 루트 디렉토리 옆에있는 Browse…를 클릭 하고 작성한 폴더를 찾아서 선택한 다음 확인을 클릭 하고 결과 .crx 파일을 Chrome 창으로 드래그하십시오.


이 Charlatan에 감사드립니다. 나는 새로운 API에 대해 들었지만 여기에 최종 답변으로 게시하기 전에 내 희망을 충족시키는 확장을 찾을 때까지 기다리고있었습니다. 나는 나보다 훨씬 더 좋은 사람들이 있기 때문에 나 자신을 만들려고 할 것입니다. '컨텍스트 검색'확장 프로그램의 작성자가 새 API를 사용하도록 확장 할 수 있습니다.
andygrunt

천만에요. 위의 예제를 다른 사이트에 적용하는 것은 정말 쉽습니다. URL을 변경하기 만하면됩니다. 다른 모든 것은 그것을 예쁘게 만들고 있습니다. Google지도 검색을 위해 답변에서 코드를 편집했습니다. 다섯 가지만 바꿔야했습니다.
gdejohn

크롬 확장 프로그램에는 몇 가지 변경 사항이 있습니다. 즉, manifest.json현재 버전 2이며 많은 것들이 변경되었습니다.
Jason

Dropbox에 대한 링크가 손상되었습니다. 업데이트 하시겠습니까?
Bob Hopez

@BobHopez 이러한 확장은 더 이상 지난 9 년 동안 Chrome의 모든 변경 사항과 작동하지 않습니다.
gdejohn

5

오른쪽 클릭 메뉴에 아무것도 추가하지 않는 것을 제외하고 원하는 것을 수행 하는 컨텍스트 검색 확장이 있습니다. 대신 페이지에서 텍스트 청크를 선택하면 옆에 파란색 삼각형이있는 작은 버튼이 표시되고 클릭하면 메뉴가 나타납니다. 대체 텍스트


우수한. 이것은 내가 원하는 것의 99 %를 수행합니다. 당신이 말했듯이, 그것은 오른쪽 클릭 메뉴에 옵션을 추가하지 않지만, 더 중요한 것은 Google 검색 상자에 무언가를 쓰고 그것을 선택하고 버튼이 나타나지 않는 것처럼 모든 곳에서 작동하지 않습니다. 마우스 오른쪽 버튼 클릭 메뉴에 옵션을 추가 할 수 있는지 듣고 싶지만 계속 진행됩니다. 감사.
andygrunt

AFAIK는 확장 프로그램이 DOM을 조정하고 팝업 만 표시 할 수 있으므로 Chrome 기본 메뉴 (예 : 오른쪽 상단의 '옵션'메뉴)에 옵션을 추가 할 수있는 방법이 없습니다. 아마도 이는 더 나은 플랫폼 간 호환성을 달성하기위한 의도적 인 선택이었습니다.
whitequark

1
이것이 제가 Firefox를 고수하는 이유 중 하나입니다.
CGA

@ CGA : Firefox는 훌륭하고 몇 년 동안 사용했지만 Atom 2x1600 넷북에서는 너무 느립니다.
whitequark

거기에 당신과 동의 할 수 없습니다.
CGA

1

사용자 정의 오른쪽 클릭 메뉴 라는 확장 기능을 즐기고 있습니다. 완전히 구성 가능한 마우스 오른쪽 버튼 메뉴 항목을 만들 수 있으며 다른 브라우저에서도 작동합니다 (Opera : Chrome 확장 프로그램 설치 , Firefox : Chrome Store Foxified ).

  • Chrome 스토어에서 '맞춤 오른쪽 클릭 메뉴'설치
  • 사용자 정의 오른쪽 클릭 메뉴 옵션을 엽니 다.
  • CRM 편집 섹션에서 선택을 선택하십시오.
  • 일반적으로 사용되는 검색 엔진으로 스크롤하여 추가하십시오
  • CRM 편집 섹션에서 해당 검색 엔진을 추가합니다.
  • 기어가 아닌 클릭하여 편집하십시오.
  • 이름을 "Search amazon.co.uk"또는 기타로 변경하십시오.
  • 코드를

    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');
    }
    
  • 스크립트 유형의 다른 메뉴 항목을 작성하고 "Google Map"등으로 호출 한 다음 동일한 방식으로 코딩하십시오.

    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

"컨텍스트 메뉴 검색"이라는 확장자가 있습니다. URL을 추가 한 다음 텍스트를 선택하고 URL 중 하나를 클릭하면 클릭 한 URL로 해당 텍스트를 전달합니다.

예를 들어 YouTube의 검색 URL은 다음과 같습니다.

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

여기서 TESTSEARCH는 검색하려는 텍스트입니다. 확장 프로그램에서이 행을 추가하면 TESTSEARCH를 누르면 선택한 텍스트로 자동 대체됩니다. 물론 각 URL에 레이블을 추가 할 수 있습니다.

확장에 대한 링크는 다음과 같습니다.

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


0

주요 질문에 대한 답변이 있기 때문에 안녕하세요. 무언가에 기여하고 싶습니다.

이 스크립트는 Google의 이미지 검색과 유사하게 수정 된 스크립트이지만 imglink.jpg를 Jeffrey의 Exif Viewer로 리디렉션하여 이미지의 EXIF를 분석합니다.

gdejohn 에게 감사합니다 .

쉽고, 메모장을 사용하는이 2 개의 파일을 만들고 16x16, 48x48 및 128x128 (또는 줄 삭제) 아이콘을 추가하고 chrome : // extensions / tick 개발자 모드로 이동하여 파일의 포함 폴더를 추가하십시오.

파일 이름 : 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"
}

파일 이름 : 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()
});
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.