在我的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);
如何更改代码以便扩展名同时显示在 amazon.com 和 google.com 页面上?
谢谢。
最佳答案
- 您只需设置一次
chrome.pageAction.onClicked.addListener
处理程序,这样的代码会给您带来麻烦。 url
changeInfo 成员是可选的,在某些情况下可能不存在- 在某些情况下,您检查亚马逊可能会失败。例如网址 http://google.co.uk?q=amazon.com 。先用正则表达式解析url。 This是可能的解决方案之一
解析 url 的示例代码
var host = parseURL(tab.url).host;
if (host.indexOf("amazon.com") >= 0 || host.indexOf(".google.") >= 0) {
// handle these pages
}
关于javascript - 多个网站上的 Chrome pageAction 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18906709/