jsを使用してURLハッシュの一部を取得するにはどうすればよいですか?
ここに私が持っているものがあります:
something.html?il=#/new/product/123
そして、変数として「123」を取得する必要があります...
*** ライブラリはありません。純粋な JavaScript を使用してください。
何か案は?
jsを使用してURLハッシュの一部を取得するにはどうすればよいですか?
ここに私が持っているものがあります:
something.html?il=#/new/product/123
そして、変数として「123」を取得する必要があります...
*** ライブラリはありません。純粋な JavaScript を使用してください。
何か案は?
これがあなたを助けるはずのJavascriptです。getQuerystringNameValue() 関数から戻り値を取得し、 $("#textboxID").val(returnValue); を使用するだけです。テキストボックスに割り当てます。
alert("name1" + " = " + getQuerystringNameValue("name1"));
alert("name2" + " = " + getQuerystringNameValue("name2"));
alert("name3" + " = " + getQuerystringNameValue("name3"));
function getQuerystringNameValue(name)
{
// For example... passing a name parameter of "name1" will return a value of "100", etc.
// page.htm?name1=100&name2=101&name3=102
var winURL = window.location.href;
var queryStringArray = winURL.split("?");
var queryStringParamArray = queryStringArray[1].split("&");
var nameValue = null;
for ( var i=0; i<queryStringParamArray.length; i++ )
{
queryStringNameValueArray = queryStringParamArray[i].split("=");
if ( name == queryStringNameValueArray[0] )
{
nameValue = queryStringNameValueArray[1];
}
}
return nameValue;
}
クエリ文字列ではなく、ハッシュが必要です。# の後のものは、URL のハッシュと呼ばれます。
document.location.hash を使用してその文字列を解析できます
var id = document.location.hash.split("/"); //convert the hash into an array, splitting with "/"
id = id.pop(); //pop will get the last item on the array
この方法は読みやすく簡単ですが、検索している文字列が常に配列の最後であると想定するのは安全ではありません。正規表現を使用して、可能性をさらに絞り込むことができます
var hash = document.location.hash,
re = /\/new\/product\/(d+)/,
id = hash.match(re);// for some reason this matches both the full string and the number
id = id.pop(); // so I must do this again
JavaScript ではdocument.location.search
、クエリ パラメータが含まれます。正規表現を使用して、必要な部分を解析できます。ただし、例の URL では、クエリ文字列ではなく、 にあるアンカーdocument.location.hash
です。