google-chrome-extension - 如何为pageAction添加点击?

标签 google-chrome-extension

第一次扩展-请客气。

我的目标是在用户访问来自特定域的页面时提供一个选项,以提供启动另一个页面的选项,该页面使用已访问页面的域名的一部分作为变量。

下面的代码可以实现我想要的功能,但是它不提供操作选项,它只是执行。

当访问与域匹配的页面时,它将在地址栏中添加一个图标。我希望仅当用户单击该图标时才加载新页面。如果无法实现,请提出一个替代方案。

谢谢!

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);

最佳答案

您只需要使用 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});
});

关于google-chrome-extension - 如何为pageAction添加点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15711369/

相关文章:

javascript - 我的代码如何记住用户输入?

google-chrome-extension - 为 Google Chrome 扩展打包多个入口点

javascript - Chrome 扩展 - 执行前修改脚本

javascript - 这个 JavaScript 语句如何计算日期?

javascript - 检测由 chrome 内容脚本引起的字段值更改的最佳方法

javascript - 检测从休眠状态唤醒

javascript - 单击 Javascript 时替换网页中字符串的所有实例

javascript - 可以将匿名函数或对函数的引用传递给 executeScript 吗?

javascript - Chrome 扩展允许的键盘快捷键

javascript - Chrome 扩展程序的内容脚本未注入(inject)任何网页