Если я правильно понимаю, что вы пытаетесь сделать, тогда page-mod
- неправильное решение - вы просто хотите прослушать активную вкладку.Для этого используйте tabs
module , слушайте события ready
(загружен новый URL) и activate
(активная вкладка изменена):
var tabs = require("tabs");
tabs.on("ready", function(tab)
{
if (tab == tabs.activeTab)
updateActiveTab(tab);
});
tabs.on("activate", function(tab)
{
updateActiveTab(tab);
});
Ваша updateActiveTab()
функция будетнеобходимо проверить tab.url
, а затем активировать или деактивировать виджет.Если вы хотите использовать для этого шаблоны, подобные тем, которые вы указали для page-mod
, вам нужно использовать внутренний match-pattern
модуль , например:
var {MatchPattern} = require("match-pattern");
var patterns = [
new MatchPattern("*.site1.com"),
new MatchPattern("*.site2.com")
];
function updateActiveTab(tab)
{
var matches = false;
for (var i = 0; i < patterns.length; i++)
if (patterns[i].test(tab.url))
matches = true;
if (matches)
activateWidget();
else
deactivateWidget();
}
Но, конечно,Вы можете просто использовать регулярное выражение или что-то подобное для проверки tab.url
, вам не нужно использовать модуль match-pattern
.
Отказ от ответственности : примеры кода только тамчтобы облегчить понимание подхода, они не были проверены.