0

我正在用我原来的greasemonkey 用户脚本编写一个firefox 插件,它将eztv 站点的链接替换为ajax 链接,因此当您单击节目的已观看/未观看链接时,它会向eztv 发送一个ajax 请求并删除成功的行。一切正常,但如果我指定包含仅在 eztv 网站上运行,Firefox 的 JPM SDK Page-Mod 永远不会匹配该网站。

require('sdk/page-mod').PageMod({
include: [/(https?:\/\/eztv\.(it|ch|ag)\/myshows)/, '*.eztv-proxy.net/myshows'],
contentScriptWhen: 'ready',
contentScriptFile: ["./jquery-2.2.3.min.js", './main.js'],
contentStyleFile: "./eztv.css",
attachTo: ["existing", "top"],    
});

如果我更改为include: "*",则脚本加载正常。我已经测试了正则表达式,它与https://eztv.ag/myshows相匹配而没有任何问题,但有些方法在插件中不起作用。

有人能发现问题吗?

4

1 回答 1

0

终于找到了我的问题的答案,正则表达式缺少一个斜杠。此外,如果您使用带有通配符的字符串,例如:“*.eztv.it”,您无法指定要匹配的路径或查询,它只匹配域名。如果您需要匹配特定于域的路径,则需要使用 RegExp。

于 2016-04-24T10:56:56.843 回答