1

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には、上記とまったく同じコードを生成するブックマークレットジェネレーターもあります。

何がうまくいかないのかについてのヒントを得ることができれば素晴らしいと思います。

ありがとう!

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 に答える