7

私は次のようなURLを持っていますhttp://www.example.com/folder/file.html#val=90&type="test"&set="none"&value="reset?setvalue=1&setvalue=45"

今、私は#から始まるURLの部分を取得する必要があります、どうすればそれを取得できますか、私は使用してみwindow.location.search.substr();ましたが、それは検索するように見えますか?URLで。#の後にurlの値を取得する方法はありますか

アンパサンドからURLの一部を取得するにはどうすればよいですか?

ありがとう、マイケル

4

3 に答える 3

19
var hash = window.location.hash;

詳細はこちら:https ://developer.mozilla.org/en/DOM/window.location

更新:これにより、クエリ文字列を含む、ハッシュタグの後のすべての文字が取得されます。MOZマニュアルから:

window.location.hash === the part of the URL that follows the # symbol, including the # symbol.
You can listen for the hashchange event to get notified of changes to the hash in
supporting browsers.

さて、クエリ文字列を解析する必要がある場合は、これをチェックしてください:JavaScriptでクエリ文字列の値を取得するにはどうすればよいですか?

于 2012-07-30T18:29:36.243 に答える
7

ハッシュを取得するには:

location.hash.substr(1); //substr removes the leading #

クエリ文字列を取得するには

location.search.substr(1); //substr removes the leading ?

[編集-実際にはハッシュの一部であるsortquery-string-esq文字列があるように見えるので、以下はそれを取得して名前と値のペアのオブジェクトに解析します。

var params_tmp = location.hash.substr(1).split('&'),
    params = {};
params_tmp.forEach(function(val) {
    var splitter = val.split('=');
    params[splitter[0]] = splitter[1];
});
console.log(params.set); //"none"
于 2012-07-30T18:44:10.787 に答える
0

これにより、#との&値が取得されます。

var page_url = window.location + "";       // Get window location and convert to string by adding ""
var hash_value = page_url.match("#(.*)");  // Regular expression to match anything in the URL that follows #
var amps;                                  // Create variable amps to hold ampersand array

if(hash_value)                             // Check whether the search succeeded in finding something after the #
{
    amps = (hash_value[1]).split("&");     // Split string into array using "&" as delimiter
    alert(amps);                           // Alert array which will contain value after # at index 0, and values after each & as subsequent indices
}
于 2012-07-30T18:36:25.650 に答える