Javascript 如何为Imagus悬停缩放扩展开发自定义过滤器?
在我读了关于(yikes!)的两篇文章后,我立即切换到另一篇,叫做Imagus:Javascript 如何为Imagus悬停缩放扩展开发自定义过滤器?,javascript,regex,browser-extension,Javascript,Regex,Browser Extension,在我读了关于(yikes!)的两篇文章后,我立即切换到另一篇,叫做Imagus: -ghacks.net -生命黑客 Imagus似乎符合这一要求,它做了Hover Zoom所能做的,但除此之外,它似乎还支持定制过滤器(以支持更多站点),除了它已经配备的大量过滤器之外 在Chrome的“选项”页面中,过滤器部分看起来非常容易破解: 然而,与此同时,它似乎是用我所说的写的 我认为自己精通JavaScript、DOM和ReGEX,但是尝试猜测这是多么痛苦,所以我寻找文档。似乎有一个,现在是,
- -ghacks.net
- -生命黑客
/thumb/123.jpg
变成/large/123.jpg
或其他东西)
甚至只是对字段的解释。它们似乎是:
链接
url
res
img
至
FIED可以包含JavaScript函数或正则表达式注意
- link接收您悬停在上面的任何链接的地址
- url使用从链接字段捕获的括号值创建url
- res接收url或链接指向的任何文本页面
一个简单的例子是xkcd过滤器:
链接:^(xkcd\.(?:org|com)/\d{1,5})/?$
$1/info.0.json
: if ($._[0] != '{') $ = null; else $ = JSON.parse($._), $ = [$.img, [$.year, ('0'+$.month).slice(-2), ('0'+$.day).slice(-2)].join('-') + ' | ' + $.safe_title + ' - ' + $.alt + ' ' + $.link]; return $;
^(photos\.wikimapia\.org/p/[^_]+_(?!big))[^.]+
查找指向xkcd漫画的链接。如果您不熟悉正则表达式,则括号之间的任何内容都将被保存,并可以在Imagus中用作“$n”来引用第n个捕获。请注意,如果在第一个括号后有“?:”符号,则不会捕获该符号 网址:$1big
^(xkcd\.(?:org|com)/\d{1,5})/?$
$1/info.0.json
: if ($._[0] != '{') $ = null; else $ = JSON.parse($._), $ = [$.img, [$.year, ('0'+$.month).slice(-2), ('0'+$.day).slice(-2)].join('-') + ' | ' + $.safe_title + ' - ' + $.alt + ' ' + $.link]; return $;
^(photos\.wikimapia\.org/p/[^_]+_(?!big))[^.]+
这只是将“/info.0.json”附加到来自链接的地址 res:$1big
^(xkcd\.(?:org|com)/\d{1,5})/?$
$1/info.0.json
: if ($._[0] != '{') $ = null; else $ = JSON.parse($._), $ = [$.img, [$.year, ('0'+$.month).slice(-2), ('0'+$.day).slice(-2)].join('-') + ' | ' + $.safe_title + ' - ' + $.alt + ' ' + $.link]; return $;
^(photos\.wikimapia\.org/p/[^_]+_(?!big))[^.]+
此javascript函数解析JSON文件并返回一个数组,其中第一个元素是链接,第二个元素是悬停缩放图像下显示的标题文本。 如果只返回一个链接,则标题将是链接的alt文本$1big
- img用作链接,但用于图像源
- to用作res或url is
img:^(xkcd\.(?:org|com)/\d{1,5})/?$
$1/info.0.json
: if ($._[0] != '{') $ = null; else $ = JSON.parse($._), $ = [$.img, [$.year, ('0'+$.month).slice(-2), ('0'+$.day).slice(-2)].join('-') + ' | ' + $.safe_title + ' - ' + $.alt + ' ' + $.link]; return $;
^(photos\.wikimapia\.org/p/[^_]+_(?!big))[^.]+
这将查找名称中没有“大”的任何wikimapia图像。$1big
至:^(xkcd\.(?:org|com)/\d{1,5})/?$
$1/info.0.json
: if ($._[0] != '{') $ = null; else $ = JSON.parse($._), $ = [$.img, [$.year, ('0'+$.month).slice(-2), ('0'+$.day).slice(-2)].join('-') + ' | ' + $.safe_title + ' - ' + $.alt + ' ' + $.link]; return $;
^(photos\.wikimapia\.org/p/[^_]+_(?!big))[^.]+
在url中添加大的$1big
- 便条只是为了便条
干杯。你是一个伟大的人™. 我会在今天的某个时候尝试一下@卡米洛马丁谢谢!