我无法弄清楚如何在Firefox插件中使用正则表达式匹配模式(使用附加组件生成器)。我尝试使用match-pattern
package。
我的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')]
});
但错误控制台显示此错误:
时间戳:3/19/2012 9:03:34 PM错误:发生异常。 Traceback(最近一次调用最后一次):文件 “资源://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
数组中传递正则表达式匹配模式吗?任何帮助将不胜感激。
答案 0 :(得分:9)
您不需要直接使用match-pattern
包,page-mod
模块正在内部使用它。只需传递include
参数中的正则表达式:
pageMod.PageMod({
include: [/.*moz.*/, /.*chrome.*/],
...
});