2011-10-05 157 views

回答

10

它獲取的散列值斷URL的好處:

因此,如果URL是這樣的:http://something.com/foo#xyz,它得到xyz

如果URL中沒有散列標記,這段代碼將返回整個URL(可能不是所需的結果)。

這可能是一個更安全的變化,它返回一個空字符串,當沒有哈希值:

var hashPos = url.lastIndexOf ('#'); 
if (hashPos != -1) { 
    return url.substring(hashPos + 1); 
} else { 
    return(""); 
} 
+0

具體而言,它返回無論是後* *最後在'url'的''#的發生。 –

+0

爲了防止sameold不熟悉在URL中使用哈希標記,提及它用於使用元素的name屬性爲頁面中的位置添加書籤是有用的。瀏覽到頁面時,瀏覽器可以滾動到由散列標識的內容。 – Random

2

它返回無論是在URL中#後。

詳情:

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). 
1

它的哈希(#)標誌後得到的URL一切。

var url = "http://www.mysite.com/test#somesection"; 

var hashPos = url.lastIndexOf ('#'); 
return url.substring(hashPos + 1); //returns "somesection" 
1

返回從最後一個#字符後面到最後一個字符串的部分。即該頁面中的位置。

1
var hashPos = url.lastIndexOf ('#'); 

這會抓取URL字符串中哈希char(#)的位置。

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) 
}