Firefox插件SDK页面mod匹配模式/通配符错误
Firefox Add-on-SDK page-mod Matchpattern/Wildcard Error
我需要在我的pagemod、中排除http://forum.blockland.us/*sa=*
但总有这样的错误:
Error: There can be at most one '*' character in a wildcard.
这是我的main.js:
var pageMod = require("sdk/page-mod");
pageMod.PageMod({
include: "http://forum.blockland.us/index.php?action=profile*",
exclude: "http://forum.blockland.us/*sa=*",
contentScript: 'document.body.innerHTML = ' +
' "<h1>Page matches ruleset</h1>";'
});
似乎是*sa=*
导致了错误。我不知道该怎么避开这个。
如果答案是要有一个正则表达式或匹配模式,我想知道如何将其包含在我的main.js中。谢谢。
页面mod文档指出include
和exclude
属性可以是字符串(带有限通配符)、RegExp(正则表达式)或这些类型的数组中的任何一个。您可以在描述匹配模式的MDN页面上获得更详细的匹配模式描述。因此,为了匹配您想要的内容,您可以在exclude
属性中使用正则表达式,而不是带有通配符的字符串文字:
var pageMod = require("sdk/page-mod");
pageMod.PageMod({
include: "http://forum.blockland.us/index.php?action=profile*",
exclude: /http:'/'/forum'.blockland'.us'/.*sa=.*/,
contentScript: 'document.body.innerHTML = ' +
' "<h1>Page matches ruleset</h1>";'
});
从上面可以看出,RegExp只是另一种类型的标准内置对象。它们可以作为文本在代码中输入。您也可以使用构造函数:var myRegularExpression = new RegExp(pattern [, flags]);
例如:
var excludedPages = /http:'/'/forum'.blockland'.us'/.*sa=.*/;
或var excludedPages = new RegExp ("http:''/''/forum''.blockland''.us''/.*sa=.*");
请注意,在表示将用作new RegExp()
构造函数输入的字符串时,如果该字符串在源代码中表示,则需要使用双反斜杠"''"。这是因为在解释代码时,将文本转换为String
文字会使用'
来指示下一个字符是特殊的。因此,需要一个双反斜杠''
来指示实际的反斜线'
应该在String
中。这将导致:
var pageMod = require("sdk/page-mod");
var excludedPages = /http:'/'/forum'.blockland'.us'/.*sa=.*/;
pageMod.PageMod({
include: "http://forum.blockland.us/index.php?action=profile*",
exclude: excludedPages,
contentScript: 'document.body.innerHTML = ' +
' "<h1>Page matches ruleset</h1>";'
});
- JavaScript中的通配符日期形式
- JavaScript上的通配符(也许这不费吹灰之力?)
- 带有通配符的姓氏Reg表达式
- Mongoose:布尔型'或者'使用通配符查询
- jQuery的通配符委派
- 聚合物和页面.js路由中的通配符
- javascript中通配符搜索的正则表达式
- Node.js/Expss.js.如果与通配符路由器一起使用,则无法识别静态路由器
- 如何在JQuery中使用带有.html的通配符
- 如何解释BusterJS测试路径中的通配符
- Javascript-IF语句中的通配符
- jQuery选择器中的通配符
- 函数调用中的javascript通配符
- OData:对url请求中的数字(ID)字段进行通配符(startswith)筛选
- Javascript:通配符正则表达式搜索
- Javascript/Jquery.使用带通配符的正则表达式将纯文本替换为html
- 将通配符与javascript拆分函数结合使用
- 使用javascript's替换为通配符以更改字符串中的width属性
- Grunt-Uglify通配符和版本控制
- Firefox插件SDK页面mod匹配模式/通配符错误