Cam*_*tin 13 javascript regex browser-extension
在我读到Hover Zoom是邪恶的(yikes!)之后,两篇文章让我立即切换到另一篇文章,名为Imagus:
Imagus似乎很适合Hover Zoom也可以做到这一点,但此外,它似乎支持自定义过滤器(支持更多网站),除了它已经包装的庞大数量.
在选项页面中,在Chrome上,过滤器部分看起来很美味:
然而,与此同时,它似乎写在我称之为Perl Javascript的内容中.
我认为自己精通Javascript,DOM和Regex,但尝试猜测这是做什么只是痛苦,所以我寻找文档.似乎有一个MyOpera博客,现在该项目的网站暂时托管在Google Docs上.
该页面没有提及如何开发"过滤器"(或"sieves",如该页面中所写的那样?)
那么,我该如何开发自定义过滤器?我不知道所有可能性(它似乎非常灵活),但即使只是修改URL这样的简单例子也会很好.(/thumb/123.jpg
变成/large/123.jpg
什么东西).
甚至只是对字段的解释.他们似乎是:
link
url
res
img
to
note
< - 可能是评论lon*_*jil 17
fieds可以包含JavaScript函数或Regex.
如果其中一个为空,则跳过该步骤,例如没有url和res只是从链接的输出加载.
一个简单的例子是xkcd过滤器:
link:
^(xkcd\.(?:org|com)/\d{1,5})/?$
Run Code Online (Sandbox Code Playgroud)
查找xkcd漫画的链接.如果您不熟悉正则表达式,则括号之间的任何内容都会被保存,并且可以在Imagus中用作"$ n"来表示第n次捕获.请注意,如果在第一个括号后面有一个"?:",它将不会被捕获.
网址:
$1/info.0.json
Run Code Online (Sandbox Code Playgroud)
这只是将"/info.0.json"附加到链接的地址.
RES:
:
if ($._[0] != '{') $ = null;
else $ = JSON.parse($._), $ = [$.img, [$.year, ('0'+$.month).slice(-2),
('0'+$.day).slice(-2)].join('-') + ' | ' + $.safe_title + ' - ' + $.alt + ' ' +
$.link];
return $;
Run Code Online (Sandbox Code Playgroud)
这个javascript函数解析JSON文件并返回一个数组,其中第一个元素是链接,第二个是在hoverzoomed图像下显示的标题文本.如果您只返回一个链接,那么标题将是链接的替代文字.
一个简单的用例是当你想从缩略图重定向到雇用时.就像wikimapia.org的过滤器一样.
IMG:
^(photos\.wikimapia\.org/p/[^_]+_(?!big))[^.]+
Run Code Online (Sandbox Code Playgroud)
这会找到名称中没有大的任何wikimapia图像.
至:
$1big
Run Code Online (Sandbox Code Playgroud)
为网址添加大量内容.
某些过滤器此处包含指向API文档的链接.
现在,还没有关于此功能的文档,所以我可能错过了很多,但很多时候它就足够了.
干杯.