1

一連のクエリ文字列パラメーターを含む参照 URL があります。これまでの私のコードは次のとおりです。

var refURL=document.referrer;
var stock=refURL.substring(refURL.indexOf('?')+7, refURL.length);

URL の末尾にクエリ文字列パラメーターが 1 つしかない場合、これはうまくいきました。これで 3 になりました。部分文字列が次の「&」で止まるように 2 行目を置き換えたいと思います。

var stock=refURL.substring(refURL.indexOf('?')+7, ????);

そこから、次のパラメータをキャプチャして変数として保存する別の行が必要です。そのために indexOf を使用することはできませんが、中断した "&" から開始するにはどうすればよいでしょうか?

ありがとう!

4

1 に答える 1

1

クエリ文字列を実行するにはもっと良い方法があるので、indexOf について説明します。実際には、fromIndex の 2 番目のオプション パラメータを取ります。

var str = "com/?test=0&i=2&me=3&u=56";
var prevIndx = str.indexOf('?');
var query = {}, arr, result, next;

while(prevIndx != -1) {
    next = str.indexOf('&', prevIndx+1);
    if (next == -1) next = str.length;
    result = str.substring(prevIndx+1, next);
    arr = result.split('=');
    console.log(prevIndx)    
    query[arr[0]] = arr[1];
    prevIndx = str.indexOf('&', prevIndx+1);
}

そのコードはきれいではありませんが、indexOf の fromIndex パラメータを示しています

于 2011-10-05T15:50:57.877 に答える