此代码以url作为输入,但我不确定它的作用或执行此操作的好处
var hashPos = url.lastIndexOf ( '#' );
return url.substring( hashPos + 1 );
答案 0 :(得分:10)
它从URL中获取哈希值:
因此,如果网址为:http://something.com/foo#xyz
,则会获得xyz
如果URL中没有哈希标记,则此代码返回整个URL(可能不是所需的结果)。
这可能是一个更安全的变体,当没有哈希值时返回空字符串:
var hashPos = url.lastIndexOf ( '#' );
if (hashPos != -1) {
return url.substring( hashPos + 1 );
} else {
return("");
}
答案 1 :(得分:2)
返回网址中#
之后的内容。
详细说明:
var hashPos = url.lastIndexOf ( '#' ); // Gets the position of the last # found in the string.
return url.substring( hashPos + 1 ); // Gets a piece of the string starting at the given position (hashpos + 1).
答案 2 :(得分:1)
它在哈希(#)标记后获取URL中的所有内容。
var url = "http://www.mysite.com/test#somesection";
var hashPos = url.lastIndexOf ( '#' );
return url.substring( hashPos + 1 ); //returns "somesection"
答案 3 :(得分:1)
从最后一个#字符到结尾之后返回字符串的一部分。即该页面中的位置。
答案 4 :(得分:1)
var hashPos = url.lastIndexOf ( '#' );
这会抓取URL字符串中的哈希字符(#)的位置。
return url.substring( hashPos + 1 );
然后返回url字符串中哈希位置之后的所有内容。
结果将是哈希标记。这可以用于AJAX应用程序,您可以在其中保持页面状态,并且能够链接到该状态而无需实际链接到单独的页面。
一个例子是:
var recent_hash = "";
setInterval(poll_hash, 100); // Initialize our hash polling interval for ajax urls
function poll_hash() {
if (url.substring( hashPos + 1 ) == recent_hash) { return; } // No change
recent_hash = url.substring( hashPos + 1 );
process_hash(recent_hash);
}
function process_hash(hash_id)
{
var ajax_url = '/ajax/link_hash/' + hash_id;
$('#some_div').load(ajax_url)
}