Шаблоны соответствия URL в аддонах Firefox - PullRequest
3 голосов
/ 19 марта 2012

Я не могу понять, как я могу использовать шаблоны соответствия регулярных выражений в аддонах Firefox (используя Add-on Builder).Я пытался использовать match-pattern пакет .

Мой main.js выглядит следующим образом:

var { MatchPattern } = require("match-pattern");
//Matching all urls containing moz and chrome
var pattern = new MatchPattern(/.*moz.*/);
var pattern2 = new MatchPattern(/.*chrome.*/);

var pageMod = require("page-mod");
var data = require("self").data;

pageMod.PageMod({
    include: [pattern, pattern2],
    contentScriptWhen: 'ready',
    contentScriptFile: [data.url('jquery-1.7.1.min.js'),data.url('jquery-ui.js')]

});

Но консоль ошибок показывает эту ошибку:

Метка времени: 19.03.2012 21:03:34 PM Ошибка: возникла исключительная ситуация.Трассировка (последний вызов был последним): Файл "resource: //jid0-m6oqvn6bm6wcoo89bddsxwddkou-at-jetpack/api-utils/lib/match-pattern.js", строка 87, в MatchPattern_test this.regexp.exec (urlStr) [0] == urlStr) TypeError: this.regexp.exec не является функцией

Что я здесь не так делаю?Могу ли я передать шаблоны соответствия регулярному выражению в массиве include из pageMod?Любая помощь будет оценена.

1 Ответ

9 голосов
/ 20 марта 2012

Вам не нужно использовать пакет match-pattern напрямую, он используется модулем page-mod для внутренних нужд.Просто передайте регулярные выражения в параметре include:

pageMod.PageMod({
    include: [/.*moz.*/, /.*chrome.*/],
    ...
});
...