2

window.location からハッシュ部分文字列の値を抽出?し、クエリ文字列区切り文字として の使用を許可しない URL 構文を使用して、ユーザーが表示できるように HTML に書き込もうとしています。

@Gabeのおかげで、この素晴らしいコード例があります。

<html>

<input type="button" id="test" value="Test" />

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>

<script>

$(function() {
    $('#test').click(function() {

        window.location = (window.location);
        GetURLParameter('source');  

    });

});

function GetURLParameter(sParam) {
    var sPageURL = window.location.hash.substring(1);

    console.log(sPageURL);

    var sURLVariables = sPageURL.split('&');
    for (var i = 0; i < sURLVariables.length; i++) {
        var sParameterName = sURLVariables[i].split('=');
        if (sParameterName[0] == sParam) {

            alert(sParameterName[1]);

            return sParameterName[1];
        }
    }
}

</script>

</html>

私は彼の例に 1 つの変更を加えたので、クライアントからの実際のウィンドウの位置を使用しています::

window.location = (window.location);

上記のコードを含むページで「テスト」送信ボタンを押すと (URL は次のようになります):

http://example.com/pagename.html#source=FOO&medium=BAR&campaign=FRED

(クエリ文字列の区切り文字として no に注意?してください。単に#)

...その後、URL からのソース「FOO」を示す成功アラートが表示されます。素晴らしい。

しかし、他の 2 つの SParamaterNames を取得する方法と、アラートを返すのではなく、それらを HTML としてページに書き込む方法を教えてください。

これは皆さんにとって基本的な質問であることは承知しています。私がここにいるのは、この問題を何日も解決しようとしていて、多くの差分ソリューションを調べているからです。どんな助けでも大歓迎です!! 魔法使いの皆さん、本当にありがとう。

4

1 に答える 1

3

からのhash値の代わりに値を取得するだけですsearchlocation object

これが実際の例です。

function GetURLParameter(sParam)
{
   var sPageURL = window.location.hash.substring(1);
   var sURLVariables = sPageURL.split('&');
   for (var i = 0; i < sURLVariables.length; i++)
   {
     var sParameterName = sURLVariables[i].split('=');
     if (sParameterName[0] == sParam)
     {
        return sParameterName[1];
     }
   }
}
于 2012-08-22T23:03:52.140 に答える