使用Greasemonkey和FireFox重写部分链接

chr*_*s m 2 javascript greasemonkey

我的一位朋友在过去一年左右上传了大约20个左右的大自然画廊到webshots.com,然而,我刚刚为她购买了付费的Flickr帐户作为生日礼物,我想下载所有她的来自网页截图的照片,一旦她收到有关她的帐户升级的电子邮件(她不在国外 - 没有互联网访问权限),就让她准备好上传到Flickr.

我无法访问她的webshots帐户,因此我使用Greasemonkey和DownThemAll开始将她的图像保存到桌面上的文件夹中.

我对javascript有点新,而Greasemonkey可用的所有"用户脚本"并不完全符合我的需要.

加载图库页面时:

(http://[category].webshots.com/album/[album-id]), 
Run Code Online (Sandbox Code Playgroud)

我需要Greasemonkey脚本来查找图像的所有链接:

(http://[category].webshots.com/photo/[photo-page-id])
Run Code Online (Sandbox Code Playgroud)

并重新编写它们以反映这个方案:

(http://community.webshots.com/photo/fullsize/[photo-page-id]) 
Run Code Online (Sandbox Code Playgroud)

这很容易吗?看起来似乎是这样,但我似乎无法做到正确.

这是我当前的Greasemonkey脚本不起作用:

// ==UserScript==
// @name           Webshot Gallery Fixer
// @namespace      WGF
// @description    Fixes webshot galleries
// @include        http://*.webshots.com/*
// ==/UserScript==

var links = document.getElementsByTagName("a"); //array
var regex = /^(http:\/\/)([^\.]+)(\.webshots\.com\/photo\/)(.+)$/i;
for (var i=0,imax=links.length; i<imax; i++) {
   links[i].href = liks[i].href.replace(regex,"$1community$3fullsize/$4");
}
Run Code Online (Sandbox Code Playgroud)

Rob*_*sto 6

var links = document.getElementsByTagName("a"); //array
var regex = /^(http:\/\/)([^\.]+)(\.webshots\.com\/photo\/)(.+)$/i;
for (var i=0,imax=links.length; i<imax; i++) {
   links[i].href = links[i].href.replace(regex,"$1community$3fullsize/$4");
}
Run Code Online (Sandbox Code Playgroud)

应该做的伎俩