Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何为Imagus悬停缩放扩展开发自定义过滤器?_Javascript_Regex_Browser Extension - Fatal编程技术网

Javascript 如何为Imagus悬停缩放扩展开发自定义过滤器?

Javascript 如何为Imagus悬停缩放扩展开发自定义过滤器?,javascript,regex,browser-extension,Javascript,Regex,Browser Extension,在我读了关于(yikes!)的两篇文章后,我立即切换到另一篇,叫做Imagus: -ghacks.net -生命黑客 Imagus似乎符合这一要求,它做了Hover Zoom所能做的,但除此之外,它似乎还支持定制过滤器(以支持更多站点),除了它已经配备的大量过滤器之外 在Chrome的“选项”页面中,过滤器部分看起来非常容易破解: 然而,与此同时,它似乎是用我所说的写的 我认为自己精通JavaScript、DOM和ReGEX,但是尝试猜测这是多么痛苦,所以我寻找文档。似乎有一个,现在是,

在我读了关于(yikes!)的两篇文章后,我立即切换到另一篇,叫做Imagus:

  • -ghacks.net
  • -生命黑客
Imagus似乎符合这一要求,它做了Hover Zoom所能做的,但除此之外,它似乎还支持定制过滤器(以支持更多站点),除了它已经配备的大量过滤器之外

在Chrome的“选项”页面中,过滤器部分看起来非常容易破解:

然而,与此同时,它似乎是用我所说的写的

<>我认为自己精通JavaScript、DOM和ReGEX,但是尝试猜测这是多么痛苦,所以我寻找文档。似乎有一个,现在是,目前,在谷歌文档托管

这一页没有提到任何关于如何开发“过滤器”(或“筛子”,如该页所述?)

因此,如何开发自定义过滤器?我不知道所有的可能性(它似乎非常灵活),但即使是像修改URL这样的简单示例也不错。(把
/thumb/123.jpg
变成
/large/123.jpg
或其他东西)

甚至只是对字段的解释。它们似乎是:

  • 链接
  • url
  • res
  • img

  • 注意
    FIED可以包含JavaScript函数或正则表达式

    • link接收您悬停在上面的任何链接的地址
    • url使用从链接字段捕获的括号值创建url
    • res接收url或链接指向的任何文本页面
    如果其中一个为空,则跳过该步骤,例如,没有url,res仅从链接的输出加载。
    一个简单的例子是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))[^.]+
    
    $1big
    
    查找指向xkcd漫画的链接。如果您不熟悉正则表达式,则括号之间的任何内容都将被保存,并可以在Imagus中用作“$n”来引用第n个捕获。请注意,如果在第一个括号后有“?:”符号,则不会捕获该符号

    网址:

    ^(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))[^.]+
    
    $1big
    
    这只是将“/info.0.json”附加到来自链接的地址

    res:

    ^(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))[^.]+
    
    $1big
    
    此javascript函数解析JSON文件并返回一个数组,其中第一个元素是链接,第二个元素是悬停缩放图像下显示的标题文本。 如果只返回一个链接,则标题将是链接的alt文本

    • img用作链接,但用于图像源
    • to用作res或url is
    一个简单的用例是当你想从缩略图重定向到雇工。 就像wikimapia.org的过滤器一样。
    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))[^.]+
    
    $1big
    
    这将查找名称中没有“大”的任何wikimapia图像。
    至:

    ^(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))[^.]+
    
    $1big
    
    在url中添加大的

    • 便条只是为了便条
    有些过滤器在这里有指向API文档的链接

    现在,还没有关于这个特性的文档,所以我可能错过了很多,但希望它足够了


    干杯。

    你是一个伟大的人™. 我会在今天的某个时候尝试一下@卡米洛马丁谢谢!