在jQuery示例中使用Hash Urls

2021-10-05 14:01:44 字數 1413 閱讀 5150

如今當今許多現代web應用程式都使用雜湊url向頁面新增唯一性(例如頁面標籤,部分,操作等),而無需重新整理頁面即可識別頁面。 這是從使用jquery獲取**引數通過url將動態資料傳遞到頁面之後的後續內容。 仍在www上廣泛使用。

讓我們快速瀏覽一下,下面是乙個正規表示式,您可以使用它來獲取雜湊標籤。

//using window.location.hash

$.fn.urlhash = function()

;$.urlhash();

重要:location.hash對於ie(包括ie9)不安全。 同樣,如果您的網頁包含iframe,則在手動重新整理內部框架後,iframe內容將獲得舊的location.hash值(用於首次載入頁面),而手動獲取的值則不同於location.hash,因此最好通過document.url對其進行檢索。

//ie proof - url hash grab - returns complete hash value

$.fn.urlhash = function()

;$.urlhash();

因此,以提取dayofweek雜湊標籤值的示例為例,您可以這樣做:

//in context - extract dayofweek hash

//eg url#dayofweek1 would return 1

if (document.url.indexof('#dayofweek'))

這是使用較重的正規表示式的另一種不錯的方式(井號是可選的,因為.match()永遠不會返回null)。

var match = location.hash.match(/^#?(.*)$/)[1];

if (match)

var hash = location.hash.match(/#(w+)/)[1];
問題:當雜湊中有任何非拉丁字元或非字母數字字元時,返回錯誤結果。 例如,對於雜湊#foo @ o#bar $%huh你好,將僅返回「 foo」。 location.hash為空時引發typeerror,因為.match()將返回null

var hash = location.hash.split('#')[1];
使用相同的測試雜湊,它至少會得到「 foo @ o」部分,這意味著僅當雜湊包含井號時它才會失敗。 當沒有雜湊時,它不會引發錯誤,儘管它返回的是undefined而不是空字串。

得到您的雜湊-防彈方式

from:

在selenium中使用JQuery

selenium的xpath確實功能不夠強大啊,還是喜歡用jquery.今天嘗試了一下,其實是可以在selenium中用jquery來分析dom的.執行以下步驟 1.把jquery的js檔案新增到selenium server.jar的 core scripts目錄下.2.修改selenium se...

尋找乙個可以在Delphi中使用的hash錶類

尋找乙個可以在delphi中使用的hash錶類 delphi windows sdk api 輕量級的,只要能夠使用字串作為鍵值的即可。我找到乙個hashtrie,編譯出來一大堆警告還不說了,而且速度也是具慢無比。有沒有哪位老兄推薦乙個給我啊?謝了先。如果實在找不到的話我就用c 做dll來搞了。試試...

尋找乙個可以在Delphi中使用的hash錶類

尋找乙個可以在delphi中使用的hash錶類 delphi windows sdk api 輕量級的,只要能夠使用字串作為鍵值的即可。我找到乙個hashtrie,編譯出來一大堆警告還不說了,而且速度也是具慢無比。有沒有哪位老兄推薦乙個給我啊?謝了先。如果實在找不到的話我就用c 做dll來搞了。試試...