0

Chromium のスタンドアロン ビルドを展開して、完全な Chrome をインストールできない顧客のマシンで Web アプリを実行しようとしています。Chromium 20 の最近のビルドでは、--single-processモードで実行すると Chromium が Skype 拡張機能によってクラッシュするため、その拡張機能を無効にしたいと考えています。また、独自のプリインストール拡張機能をバンドルしているため、すべての拡張機能を完全に無効にしたくありません。

理想的には、Chromium のインストール用にすべての拡張機能をブラックリストに登録し、拡張機能だけをホワイトリストに登録できるようにします。マシン上の Chrome の他のインストールに影響を与えない方法でこれを行いたいと思います。で拡張機能をインストールしていmaster_preferencesますが、そこでもホワイトリストを設定できますか?

4

1 に答える 1

2

拡張機能のマニフェストに名前を設定します。次に、拡張機能自体で変数に同じ名前を設定します (例: window.___NAME)。次に、次のコードを使用します。

function DisableOtherExtensions(){
    chrome.management.getAll(function(ext){
        if(ext.length===1) return;

        for(var i=0; i<ext.length; i++){
            if(ext[i].name===____NAME) continue;
            chrome.management.setEnabled(ext[i].id,false);
        }
    });
}

chrome.management.onEnabled.addListener(DisableOtherExtensions);
chrome.management.onInstalled.addListener(DisableOtherExtensions);

また、Chrome で自分以外の拡張機能を有効にすることはできません。また、導入手順はhttp://code.google.com/chrome/extensions/external_extensions.htmlにあります。

于 2012-05-18T12:29:16.557 に答える