0

私はEvent Pageいくつかのリスナーを設定して、ユーザーが現在のタブで URL を変更したときに次を使用して確認します。

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
    myFunction(tab);
});

DOM今、私は使用中のタブの一部を変更したいと考えていますmyFunction。少しテストしましたが、DOM現在変更中のようです。タブと同じではなく、ユーザーが変更されました。

私はこれにちょっと慣れていないので、使用する必要があるかどうかわかりませんContent Scripts

ありがとう!

4

1 に答える 1

2

タブの DOM を変更する方法を尋ねている場合は、コンテンツ スクリプトを使用します。その後postMessage、必要に応じてイベント ページとコンテンツ スクリプト間の通信に使用しますが、イベント ページが消える可能性があるため、信頼できるチャネルではない可能性があります。

これは、Google コードのドキュメントからのものです。

chrome.browserAction.onClicked.addListener(function(tab) {
  chrome.tabs.executeScript(null,
                           {code:"document.body.bgColor='red'"});
});

現在のタブを取得する方法を尋ねている場合、現在のタブを取得する方法はコンテキストによって異なります。以下は、最近私のために働いたものです。

ブラウザアクションの popup.html には次のものがあります。

  chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
      var current;
      if (_.isEmpty(tabs)) {
        return;
      }
      current = tabs[0];
   });

そして chrome-extention:// で私は使用します:

   chrome.tabs.getCurrent(function(tab) {
   });
于 2013-09-21T02:56:14.627 に答える