0

現在のURLかどうかを確認しようとしています

base_url/index.php?name0=value0&name1=value1&name2=value2...

特定の が含まれていますname=value。私はこれを試しました

var path = $.inArray('name=value', $(location).attr('href').split('&'));
        if (path  > -1){ triggers my function...}

しかし、URLがエンコードされている場合、これは機能しないと思います。name=valueすべての条件をチェックせずに URL に含まれているかどうかを確認する方法はあります(split('&')split('%26'))?

4

2 に答える 2

1

これにはコア JavaScript を使用できます。

var parameterName = 'name0';
var parameterValue = 'value0';
var path = decodeURI(location.href).indexOf(parameterName+'='+parameterValue); 
if (path > -1){ 
    triggers my function...
}

編集:私はそれをさらにテストしましたが、どちらの解決策も完璧ではありません:指定された名前の値の前に何かがある場合、私のものは失敗しvarname0ますname0?文字に続く最初の値/ペア。

クエリ文字列値を取得するにはどうすればよいですか? あなたが探しているものです。

于 2013-01-23T22:58:08.157 に答える
1

&パラメータを分割するとURLの一部がエンコードされないため、分割は常に機能します。ただし、URL でエンコードされた名前または値を持つことができます。それらを検索するには、次のencodeURIように使用する必要があります。

var path = $.inArray(encodeURI('name=value'), $(location).attr('href').split('&'));
    if (path  > -1){ triggers my function...}
于 2013-01-23T22:58:39.403 に答える