6

最初の延長 - 親切にお願いします。

私の目的は、ユーザーが特定のドメインからページにアクセスしたときにオプションを提供して、訪問したページのドメイン名の一部を変数として使用する別のページを起動するオプションを提供することです。

以下のコードは、私が望んでいることを実行しますが、アクションをオプションとして提供していません。実行するだけです。

ドメインに一致するページにアクセスすると、アドレス バーにアイコンが追加されます。ユーザーがそのアイコンをクリックしたときにのみ、呼び出される新しいページがロードされるようにします。それが不可能な場合は、代替案を提案してください。

ありがとう!

function checkForValidUrl(tabId, changeInfo, tab) {

  if (tab.url.indexOf('.foo.com') > -1) {

    chrome.pageAction.show(tabId);
    var myName = tab.url.split(".")[0].slice(7);

    if (myName != "www"){ //ignore main site

    chrome.tabs.update(tab.id, {url: "http://foo.com/foo.html?t=" + myName});
    }

  }
};

chrome.tabs.onUpdated.addListener(checkForValidUrl);
4

2 に答える 2

12

を使用するだけですchrome.pageAction.onClicked。例えば:

function checkForValidUrl(tabId, changeInfo, tab) {
  if (tab.url.indexOf('.foo.com') > -1) 
    chrome.pageAction.show(tabId);
};

chrome.tabs.onUpdated.addListener(checkForValidUrl);

chrome.pageAction.onClicked.addListener(function(tab){
  var myName = tab.url.split(".")[0].slice(7);
  if (myName != "www") //ignore main site
    chrome.tabs.update(tab.id, {url: "http://foo.com/foo.html?t=" + myName});
});
于 2013-03-29T21:12:31.117 に答える
3

上記の答えは正しいですが、これが機能するにはマニフェストに正しい権限が必要であり、tab.urlそうでない場合は未定義になることに注意してください。

ドキュメントからThe URL the tab is displaying. This property is only present if the extension's manifest includes the "tabs" permission.

リンク - https://developer.chrome.com/extensions/tabs#type-Tab

于 2015-06-03T13:32:39.657 に答える