我正在为reddit.com构建chrome扩展程序,我正在使用page action
。现在我希望page_action icon
仅对特定网址格式可见,即
http://www.reddit.com [allowed]
http://www.reddit.com/r/* [allowed]
http://www.reddit.com/r/books/comments/* [not allowed]
因此,正如我上面提到的那样,我不希望我的扩展程序页面操作图标对于涉及3rd case
的{{1}}可见。
目前我在comments url of redddit
中使用以下代码来实现此目的:
background.js
我还在function check(tab_id, data, tab){
if(tab.url.indexOf("reddit.com") > -1 && tab.url.indexOf("/comments/") == -1){
chrome.pageAction.show(tab_id);
}
};
chrome.tabs.onUpdated.addListener(check);
添加了以下行,以便在评论页面上停用该扩展程序
manifest.json
所以,我的问题是这是正确/理想的禁用&和隐藏特定页面/网址的扩展名?
答案 0 :(得分:1)
为什么不Zoidb-我的意思是,正则表达式?
var displayPageAction = function (tabId, changeInfo, tab) {
var regex = new RegExp(/.../); //Your regex goes here
var match = regex.exec(tab.url);
// We only display the Page Action if we are inside a tab that matches
if(match && changeInfo.status == 'complete') {
chrome.pageAction.show(tabId);
}
};
chrome.tabs.onUpdated.addListener(displayPageAction);
关于这种方法,我认为使用onUpdated.addListener
是正确的方法。作为一种好的做法,尝试仅在加载选项卡时显示您的页面操作,除非您的应用程序要求另有说明。
您可以使用this tool来生成正则表达式,如果您需要帮助,请随时再次询问,我们将帮助您组合所需的正则表达式。