3

この権限を設定しました

"permissions": [ "tabs" ],

そして私が使用する.jsで

chrome.tabs.getSelected(null, function(tab) {
var page_url = tab.url;
$("#chrome_ext_qr_code img").attr("src", ...);
$("#chrome_ext_qr_code input").val(...);
});

なぜこのエラーが発生したのですか?

chrome.tabs は利用できません: この API にアクセスする権限がありません。必要な権限またはマニフェスト プロパティが manifest.json に含まれていることを確認します。

4

3 に答える 3

1

説明されているように、ステファンのソリューションは機能しなくなりました。AFAICT、Googlecontent-scriptはタブAPIへのアクセスで説明されているコールバックも許可しなくなったようです。

つまり、代わりに background.js でリダイレクトを指定する必要があります。

(コンテンツスクリプト.js)

chrome.extension.sendRequest({ command: "selected-tab" });

(background.js)

chrome.extension.onRequest.addListener(function(request, sender) { 
  if (request.command == "selected-tab") { 
    chrome.tabs.getSelected(null, function(){
      // your code here
      // var page_url = tab.url etc, etc
    }; 
  } 
});
于 2013-06-29T18:35:57.060 に答える
0

Rob W が既に述べたように、コンテンツ スクリプトでタブ API にアクセスすることはできません。

選択したタブを返すバックグラウンド スクリプトにリクエストを送信する必要があります。

(コンテンツスクリプト.js)

chrome.extension.sendRequest({ command: "selected-tab" }, function(tab) {
    var page_url = tab.url;
    // your code
});

background.js

chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
    if (request.command == "selected-tab") {
        chrome.tabs.getSelected(null, sendResponse);
    }
});
于 2013-06-25T10:51:14.643 に答える