Firefoxでマルチパラメータ検索を機能させようとしています。
これには、ここからJavascriptコードを使用する必要があります。
私はコードを理解し、Maven中央リポジトリ検索で機能させるように努めてきました。これは、キーワード検索で実行しようとしているサンプル検索です。###ここにキーワード検索URLを挿入###を私の検索URL に置き換えた後: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には、上記とまったく同じコードを生成するブックマークレットジェネレーターもあります。
何がうまくいかないのかについてのヒントを得ることができれば素晴らしいと思います。
ありがとう!