1

我试图让多参数搜索在 Firefox 中工作。

这需要使用此处的 Javascript 代码。

我一直在尝试理解代码并使其适用于 Maven 中央存储库搜索。是我尝试通过关键字搜索执行的示例搜索。用我的搜索 URL替换###INSERT YOUR KEYWORD SEARCH URL HERE###后: http://search.maven.org/#search|ga|1|g%3A%s%20a%3A%s我得到以下书签代码:

javascript:var%C2%A0s='%s';%20url='http://search.maven.org/#search|ga|1|g%3A%s%20a%3A%s';%20t='';%20qc=0;%20chunks=url.split('%s');%20for(i=0;%20i<s.length;%20i++){if(s.charAt(i)=='"')qc=qc^1;%20t+=((s.charAt(i)=='%20'&&qc)?'^':s.charAt(i));%20}args=t.split(/\s/);%20nurl='';%20for(i=0;%20i<chunks.length;%20i++){nurl+=chunks[i];%20if(args[i]!=undefined)%C2%A0{args[i]=args[i].replace(/\^/g,'%20');%20nurl+=args[i];%20}}location.replace(nurl,'<%20BR>');

但不幸的是,这似乎不起作用。我试图在 Firebug 中调试美化的、未编码的代码,但我无法理解它的作用:

var s = '%s';
url = 'http://search.maven.org/#search|ga|1|g:%s a:%s';
t = '';
qc = 0;
chunks = url.split('%s');
for (i = 0; i < s.length; i++) {
    if (s.charAt(i) == '"') qc = qc ^ 1;
    t += ((s.charAt(i) == ' ' && qc) ? '^' : s.charAt(i));
}
args = t.split(/\s/);
nurl = '';
for (i = 0; i < chunks.length; i++) {
    nurl += chunks[i];
    if (args[i] != undefined) {
        args[i] = args[i].replace(/\^/g, ' ');
        nurl += args[i];
    }
}
location.replace(nurl, '< BR>');

似乎我的搜索 URL 的明显复杂性扰乱了上述书签。mozillaZine KB 文章中提到的错误 124237也有一个书签生成器,它生成与上面完全相同的代码。

如果我能得到关于可能出了什么问题的提示,那就太好了。

谢谢!

4

2 回答 2

1

我认为问题在于较新版本的 Firefox 不允许从位置栏执行代码。从小书签执行的代码有效,但关键字替换将 javascript url 放置在位置栏中(并且没有任何反应)。

于 2012-08-09T15:42:22.507 回答
0

这些天我想知道为什么我的多参数关键字搜索不再起作用了。然后我发现他们只是在空白/新标签上不起作用:https ://superuser.com/questions/382631/multiple-parameter-keyword-searches-in-firefox-or-chrome#comment618307_396619

于 2015-02-23T22:12:32.867 回答