到目前为止,我有这个:
// So we can notify users
var notification = webkitNotifications.createNotification(
'icon-48.png',
'Alert!',
'abcdefghijklmnop'
);
// Called when the url of a tab changes.
function checkForValidUrl(tabId, changeInfo, tab) {
// Compare with a the URL
if (tab.url.indexOf('example.com') > -1) {
//then
chrome.pageAction.show(tabId);
notification.show();
}
};
// Listen for any changes to the URL of any tab.
chrome.tabs.onUpdated.addListener(checkForValidUrl);
不是简单地与上面的example.com进行比较,而是根据URL数组检查URL。我该怎么做?
答案 0 :(得分:1)
同样的,除了你将遍历数组:
function checkForValidUrl(tabId, changeInfo, tab) {
for (var i = 0, iLen = urlArray.length; i < iLen; i++) {
if (tab.url.indexOf(urlArray[i]) > -1) {
chrome.pageAction.show(tabId);
notification.show();
break; // halt for loop
}
}
};
另一种选择是使用正则表达式,而使用if (tab.url.match(re))
,re
可以是/example\.com|example\.org|google\.com/
。
答案 1 :(得分:0)
如果数组很小,你可以迭代它并检查。
如果它明显更大,那么你最好的方法就是对它进行预先排序并对其进行二进制搜索。
另一个选项可以是将数组连接到单个字符串,然后检查此字符串中的存在(使用indexOf
或使用正则表达式)