2017-01-14 21 views
0

左クリックメニューを作りたいと思います。 Chrome拡張機能でどうすればいいですか?Chrome拡張機能で左クリックメニューを作成するには

これは私の右クリックメニューである:それは左クリックすることについては

chrome.runtime.onInstalled.addListener(function() { 
    chrome.contextMenus.create({ 
     title: 'Dolar', 
     id: 'dolar', 
     contexts: ['all'], 
    }); 
}); 

chrome.contextMenus.onClicked.addListener(function(info, tab) { 
    if (info.menuItemId === "dolar") { 
     alert("Hello"); 
    } 
}); 

、どのように私はそれを変更できますか?

+1

[コンテンツスクリプト](https://developer.chrome.com/extensions/content_scripts)で手動で行います。 – wOxxOm

+0

それは唯一の方法ですか? @wOxxOm – oguzkaganeren

+1

はい、それは唯一の方法です。 – wOxxOm

答えて

0

左クリックで開くメニューを作成する特別なChrome拡張APIはありません。左クリックで開くメニューを作成するには、使用したいページにcontent scriptを挿入する必要があります。そのコンテンツスクリプトでは、左ボタンでclickイベントを聞く必要があります。次に、メニューを構成する要素をDOMに挿入する必要があります。これをすべて手動で行うか、問題を抽象化するライブラリを見つける必要があります。

一般的に、これはほとんどのマシンで使用されるユーザーインターフェイスと矛盾します。これはほとんどのユーザーの期待に反し、ユーザーの混乱を招く可能性があります。さらに、ウェブページは、リンク上の通常のクリック(例えば、ドロップダウン/ポップアウトメニューのアクティブ化など)を超えて、彼らが望む目的に応じて左クリックを使用できることを期待する。それを使用すると、ページ内のすべての操作に左クリックを使用することと競合します。あなたが特定のユースケースを持っていない限り、一般に利用可能な左クリックメニューを持つことはおそらく悪い考えです。

ユーザーが左クリックしたときにメニューを開くUI要素が異なる状況です。そのような場合、ユーザは何かをする予定のUI要素をクリックしている。ただし、すべてのページにUIを読み込むことが適切かどうかは慎重に検討する必要があります。時にはそうです。そうすることで、アドオンが完全に使用されていないページに重い負担をかける可能性があります。この影響を最小限に抑えるには、最小限の量をページにロードしてUIの開始点を表示します。次に、ユーザーが拡張機能のUIとのやりとりを開始したときにのみ、残りのコード/ライブラリ/ UIを読み込みます。ページ内のUIを必要とするのは、拡張機能が限られたページセット(特定のドメインまたはページのUIを変更するページ)の場合です。ただし、ほとんどの拡張機能では、アドオンとの一般的なやりとりは、ブラウザ/ページアクションボタンのクリック、ホットキー、コンテキストメニューのエントリ、またはアドオンで何かを検出してユーザーのUIを開くことから始まりますすべてのページに完全なUIを追加する)。

関連する問題