多个网站上的Chrome pageAction Extension

时间:2013-09-19 23:43:02

标签: javascript google-chrome-extension

在我的background.js中我使用以下代码将我的pageAction扩展显示在Amazon.com上

function checkForValidUrl(tabId, changeInfo, tab) {
  if (tab.url.indexOf('amazon.com') > -1) {
    chrome.pageAction.show(tabId)   
    chrome.pageAction.onClicked.addListener(function(tab) {
    chrome.tabs.executeScript(tab.id, {file: "bookmarklet.js"})
});
}
};
chrome.tabs.onUpdated.addListener(checkForValidUrl);

我如何更改代码以便exzonion会出现在amazon.com和google.com页面上?

感谢。

1 个答案:

答案 0 :(得分:0)

  • 您只需要设置一次chrome.pageAction.onClicked.addListener处理程序,您将遇到此类代码的麻烦。
  • url changeInfo的成员是可选的,在某些情况下可能不存在
  • 你检查亚马逊在某些情况下可能会失败。例如为网址http://google.co.uk?q=amazon.com。使用正则表达式首先解析url。 This是可能的解决方案之一

解析网址的示例代码

var host = parseURL(tab.url).host;
if (host.indexOf("amazon.com") >= 0 || host.indexOf(".google.") >= 0) {
  // handle these pages
}