1

現在の原点に対してタブ権限を要求しようとしています。 例:http://stackoverflow.comにあります。バッジをクリックしてポップアップからボタンをクリックすると、このタブで操作できるようにするためのプロンプトボックスが表示されます。Chrome拡張機能 - 現在のタブのオプションの権限をリクエストする

私は何をやっている:

  • マニフェスト
     
    ... 
    "permissions": ["tabs", "contextMenus"], 
    "optional_permissions": [ "<all_urls>" ], 
    ... 
    
  • ポップアップ

     $('#reqPermision').click(function() 
    { 
        bg.reqPerm(url); 
    });

  • 背景

     function reqPerm(url) 
    { 
        chrome.permissions.request({permissions: ['tabs'], origins: [url]}, function (granted) 
        { 
         log('permision:', granted) 
        }); 
    }

私は何を取得しています:

permissions.request中にエラーが発生する:オプションの権限が拡張マニフェストに表示されている必要があります。

私は手動でURLを設定した場合(この例では。https://stackoverflow.com/ "optional_permissions" 配列で、すべては私が必要とするどのように取り組んでいます。

+0

まだこれを行う方法がない可能性があります。 ''の代わりに '*:// */*'を使うとどうなるでしょうか? – apsillers

+0

クロムのapiと同じことです。はい、私はすでにそれを試して、結果は同じです。 – flienteen

+0

次に、ドメインをオプションの権限として追加する機能については、[機能要求](http://code.google.com/chrome/extensions/faq.html#faq-fea-02)を入力する必要がありますマニフェストにそのドメインをリストすることなく(またはそのドメインのスーパーセットを表示することで、例えば '*:// *。google.com/* 'は' *:// maps.google.com/*'のリクエストを許可します)。 – apsillers

答えて

1

これは現在できません。マニフェストに明示的に記載されているURLのアクセス権のみをリクエストできます。しかし、this feature requestはあなたがやろうとしていること(ブラウザアクションをクリックすると自動的に許可を与える)を行うべきです。あなたのコード に//エラー許可されていないの

+1

レコードの場合、['activeTab'アクセス権](https://developer.chrome.com/extensions/activeTab)が実装されています。 – Xan

-2

まず、オプションの許可が第二に、あなたはこのようにそれを行うあなたがこの

"permissions": ["tabs", "contextMenus"], "optional_permissions": [ "<all_urls>" ],

をしたオプションの許可 の配列内のタブのアクセス許可を指定する必要があります

"permissions": [, "contextMenus"], "optional_permissions": [ 'tabs' ,<any other permission you want>],

それは許可を要求する前に確認する必要があり、それはあなたが、あなたのshを付与されていない第三ouldはそれを要求します 結果google optional permission