web-dev-qa-db-ja.com

複数の同期デバイスでChrome拡張機能を無効にせずに無効にする方法

私は4つの異なるワークステーションでChromeを使用しており、私の拡張機能はそれらすべてのワークステーションで同期されています。

私が持っている問題は、あなたが実際のマウスを持っているなら、拡張機能の1つ( Gestures for Chrome )がうまく機能することです邪魔になるだけです。

Ubuntuマシンで無効にすると、 内部同期メカニズム のため、すべてのChromeインストールで無効になります。

Q:1台のマシンで拡張機能を選択的に無効にすることはできますか?

128
growse

セキュリティ上の問題から、ChromeはNPAPIプラグインを含む拡張子を同期しません。

ソース

NPAPIプラグインとは何ですか?

NPAPIプラグインで実行されているコードは、現在のユーザーの完全な権限を持ち、サンドボックス化されたり、Google Chromeによる悪意のある入力から保護されたりすることはありません。コンテンツスクリプトやXMLHttpRequestを使用する場合など、信頼できないソースからの入力を処理する場合は特に注意が必要です。

ソース

理論

ChromeがNPAPIを使用して拡張子を認識するように拡張子を変更した場合は、問題ありません。

の仕方

  1. まず、 任意のNPAPI拡張子 のようなダミーの.dllが必要です。 スクリーンキャプチャ(Googleによる) GoogleはNPAPIサポートを終了することを決定しました のため、その間、この拡張機能はGoogle Playストアから削除されました。しかし、これは私たちのシナリオには関係ありません。幸いなことに 公式のScreen Capture wiki はまだソースコードを含んでいます。完全な拡張子は必要ではなく、NPAPI .dll screen_capture.dllだけが必要です。 直接ダウンロードする

  2. 次に、同期してはいけない「​​機能拡張」フォルダに移動します。あなたの場合は Chromeのためのジェスチャー
    ..\profile\Default\Extensions\jpkfjicglakibpenojifdiepckckakgk\1.12.1_0

  3. manifest.json ファイルを修正し、NPAPIプラグインを Stackoverflowで説明 、さらには{ developer.chrome.com のように追加します。

    {
      "name": "My extension",
      ...
      "plugins": [
        { "path": "screen_capture.dll" }
      ],
      ...
    }
    
  4. 同期したくない拡張機能の background.html ファイルを変更します。これも上記のStackoverflowの回答で説明されています。

    <embed type="application/x-my-extension" id="pluginId">
    <script>
      var plugin = document.getElementById("pluginId");
      var result = plugin.myPluginMethod();  // call a method in your plugin
      console.log("my plugin returned: " + result);
    </script>
    
  5. chrome://flags/#enable-npapi経由で may が必要になります NPAPIサポートを再度有効にするため

ここからあなたはあなた自身の上にいます。私は拡張コーディングについて十分に知りません。
どうしてそれが理論だと思います:)

28
nixda

これはあなたが探しているものではないかもしれませんが、あなたはこれを試すことができます。右隅にある三線/レンチのアイコンをクリックして、Chrome内で設定メニューを開きます。今すぐ高度な同期設定を開きます..

enter image description here

enter image description here

次にオプションを選択して同期するものを選択し、次に拡張オプションのマークを外します。 。今すぐあなたの拡張機能は他のPCと同期しません。

78
avirk

あなたはあなたが欲しい拡張をローカル拡張としてインストールすることができます。

  1. 開発者モードを有効にしてchrome://extensionsから必要な拡張のIDを見つけます。

  2. Googleのインストールディレクトリに移動します。 Windows: %localappdata%\Google\Chrome\User Data\Default\Extensions\{Extension_ID}\{Version_Number}

  3. どこかに保存してください。

  4. 開発者モードを有効にしてchrome://extensionsに戻り、Load unpacked extensionを押します。そして、拡張子の新しいコピーに移動します。

  5. 拡張機能が2回あることがわかります。実際の拡張機能を無効にします

私はDisableと言っています。このアプローチには悪い面があり、それはあなたが自動更新を失い、何度も何度も上記のステップを繰り返す必要があるからです。更新するたびに。

どちらが本物で新しいコピーかわからない場合は、IDタグでを参照してください。{Path_To_Your_Copy}

49
WORMSS

私にとってうまくいく一つのことは、ChromeがChromeタスクマネージャの使用を開始するたびに手動でプラグインのプロセスを終了させることです。これは次のようにして実現できます。

  • (Mac)メニュー> [その他のツール]> [タスクマネージャ]
  • (PC上)メニューバーを右クリック> [タスクマネージャ]または Shift + Esc

次に、実行したくない拡張子をクリックして、[プロセスの終了]をクリックします。

職場では2台のコンピュータを使用していますが、Googleハングアウトが両方に表示されることは望ましくありません。唯一の悪いところは、あなたがクロムを起動するたびにこれをしなければならないということです。

7
wd4ever

これは断固たる答えではありませんが、問題を調べるための別の見込みです。

Chromeの同期システムでは、1台のコンピュータで評価をカスタマイズすることはできません。そしてあなたの拡張機能の中でdisable/enableのフラグで動作する追加の拡張子を持つどんな解決策も失敗するでしょう!

別のマシンが同じユーザーアカウントを同時に使用しているため、変更が反映されます。

この情報交換を回避する方法は、彼が提案した @ avirk が拡張機能の同期を無効にすることがどれほど上手いかということですが、この解決法は適切ではないようですあなたの環境.

次に、必要な結果を得るために採用できる2つのアイデアをさらに提案します。

  • 2つ目のアカウントを作成すると、独自の拡張子グループをカスタマイズできます(このソリューションは、私が個人的に使用しているScriptSafeのプロファイルを異なるマシンにするために使用します)。

もう1つの提案は少し慣習的ではなく、悪いハックと見なすことができますが、私はあらゆる方法でそれを説明するので、より広い選択肢があります。

  • 問題のプラグインのフォルダ.config/google-chrome/Default/Extensions/jpkfjicglakibpenojifdiepckckakgk/versionfolderに移動し、その内容をファイル "background_page.html"にクリアします。
    「この例はプラグインにのみ適用できます:Gestures for Chrome(TM)」

これはページをロードするときに例外を発生させます、それはあなたの拡張のイベントコードが正しく動くことを許さないでしょう。 だから私たちはこの拡張機能のためにローカルで無効にするつもりです。

あなたがあなたの拡張機能のための新しいアップデートを受け取ったときはいつでも、あなたは新しいバージョンフォルダの中でこの操作をやり直さなければならないことを覚えていてください。

4
RTOSkit

これはかなり古い質問ですが、それでも私を悩ませているものです。だからここに私自身の2セントです。

あなたはこれをするために別の拡張子を使うことができるかもしれません。私自身、これら2つのプラグインを切り替えています。「 拡張マネージャ(別名Switcher)

便利な拡張機能、アプリケーション&テーママネージャ。拡張機能、アプリケーションを迅速かつ簡単に有効化、無効化、アンインストールするためのライトポップアップマネージャ。

または " SimpleExtManager "

拡張機能のオプションを有効化、無効化、アクセスするためのシンプルなメニュー。 「シンプル」シリーズへのもう一つの追加。今回はその拡張マネージャです。

機能は次のとおりです。

  • ポップアップによる有効化/無効化、オプションへのアクセス、拡張機能のアンインストールの基本機能
  • ポップアップをカスタマイズする
  • 拡張グループを作成する機能
  • ポップアップおよび右クリックメニューで拡張グループを有効/無効にする
  • イベントページ有効

私は両方のエクステンションが好きですが、どちらが一番好きかと言うことができるまでには至っていません。どちらも多くの開発を経て、頻繁に更新されています。

4
Squazz

私が見つけたもう一つの解決策はChromeに含まれるポリシーメカニズムを使うことです。グーグルはグループポリシーを通して拡張を管理する可能性を与えます。不要な拡張子をブラックリストに載せることで、このPCの同期を効果的に削除しました。これらのオプションを手動で設定することでこの知識を活用できます。

これは、Windows PCの簡単な説明です。

  1. レジストリエディタを開く(regedit)
  2. HKEY_LOCAL_MACHINE \ソフトウェア\ポリシー\ Google\Chromeに移動します - 存在しない場合は作成します
  3. "ExtensionInstallBlacklist"という新しいキーを作成します。
  4. 新しい値(REG_SZ)を追加して "1"という名前を付けます - 既に存在する場合は "2"という名前を付けます。
  5. この値のデータを削除したいエクステンションのIDに設定します。

こうすることで、次にChromeを起動したときに拡張機能が削除されます。これはあなたがいるPCにのみ影響します。私はこれをChromeのクリーンインストールで確認した。ログインした後、すべての拡張機能がロードされました - 特に他のPCのブラックリストに載せたものです。

このポリシー設定のドキュメントはこちらにあり、さまざまなオペレーティングシステムの設定も示されています。

http://dev.chromium.org/administrators/policy-list-3#ExtensionInstallBlacklist

4
Harry_Pootha

これは簡単な解決策です(あなたが19の拡張子を持っていて、1つか2つのみで問題があると考えている):それぞれの個々のコンピュータに最初にインストールした後:

  1. Google Chromeに初期同期を実行させます。
  2. インストール後、設定に移動して拡張機能の同期を無効にしてください。
  3. あなたが望む拡張子を削除してください。

これは基本的にあなたのユーザーのすべての拡張機能を保持し、あなたは手動でそれぞれの個々のコンピュータ用にそれらを編集することができます。

私は以前の答えがもっと面白かったと認めざるを得ませんが、これは技術に精通していなくてもあなたの問題を解決します。

乾杯!

3
TVDN

インストールされた拡張機能( https://github.com/rbrahul/chrome-extension-manager )を一覧表示して選択できるようにする便利な拡張機能です。そのリストを無効にしてブラウザのストレージに保存したいものであれば問題ありません。はい、グローバルに無効になりますが、別の場所で同じ拡張子が別のリストを使用するため、別の拡張子が有効になります。

別のマシンで同時にクロムを使用している場合は(机の上にMac、ラップトップ、デスクトップがあり、仮想マシンが実行されているとします)、それは混乱するかもしれません...

おそらく、プロセスの強制終了を無効にする代わりに、プログラムで実行することさえ可能かどうか私にはわかりません。

0
emaV