亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

jQuery hash 插件

系統 2236 0

URL中的hash,也就是網址井號后面的部分,其實是一塊寶地,它能創建瀏覽歷史,也能存儲一些簡單數據。從 Twitter 開始Hash被用來定義Ajax內容,雖然如今已被HTML5的 pushState 所替代。這里介紹 jQuery ? Hash ? 插件 ,可以幫助你完成簡單數據的存儲。

?

Hash存儲數據有什么用

首先傳統URL傳遞數據的弊端是,對搜索引擎不友好,搜索引擎會認為 /example和/example?key=val是不同的網址,然而hash則不同,搜索引擎認為 /example 和 /exmaple#;key=val 會是兩個完全相同的網頁。此外,用hash存儲數據也不必刷新頁面。

hash可以作為一種本地臨時存儲的解決方案,正如cookie那樣。可以在url中保存臨時的用戶狀態這是cookie做不了的。例如含有Ajax頁面的刷新,就可以直接利用hash存儲當前的狀態。再例如你可以配合 Hashchange 監聽來完成一些事情。

這算是一個嘗試,雖然目前少有人在hash存數據上作文章,但是如果你真的需要,可以用這個插件參考一下。

?

看看什么樣子的

下圖即是一個實例,網址正常部分是 example.com/demo ,然后在網址hash中存了數據keyA=valA和keyB=valB;它們之間用分號“;”隔開,第一個key名前也有分號。

如果要用傳統URL傳遞,則是example.com/demo ?keyA=valA&keyB=valB 的樣子。

另外,如果URL本身帶有一段hash,比如存在網頁本身的錨點書簽跳轉,再儲存數據時則可以是這樣:

其中 index 并不是數據,前面帶有分號的才是數據。很容易區分。

?

怎樣使用 jQuery ? Hash 插件

使用方法非常簡單。分別有設置值、增加一對值,改變值、讀取值,以及刪除值。此外,此插件必須先引入 jQuery ,很好兼容大多的版本。

?

設置值

只需運行

      $.hash( ~keyName, ~value );
    

?

即可設置一對值。例如,運行$.hash("color", "yellow");即可存儲“color=yellow”到URL的hash里,使URL看起來像

example.htm #;color=yellow

?

增加值

想要增加一對值,同樣運行設置值的腳本即可。例如再次運行$.hash("fontSize","20px;"),既可新存儲這對值到hash里,使URL看起來像

example.htm #;color=yellow;fontSize=20px

?

改變值

同樣運行設置值的腳本,第二個參數改為你想要新值即可,這個操作會把此對值移到hash末尾突顯改變。

例如運行$.hash("color","green");即可改變hash里已存儲的color的值,使得URL看起來像

example.com #;fontSize=20px;color=green

?

讀取值

只需運行

      $.hash( ~keyName )
    

?

即可讀取名為~keyName的值,例如現在運行$.hash("fontSize");則會返回“20px”。

?

刪除值

要刪除已經存儲的一對值,可以運行

      $.hash( ~keyName, null )
    

?

來刪除它。例如現在運行$.hash("color", null);既可刪除hash中已存儲的color=green數據,使得URL看起來像

example.htm #;fontSize=20px

?

jQuery ? Hash 插件 Demo

如果你還不理解或者想要看demo, 按此

?

獲得 jQuery ? hash 插件

要引入此插件非常簡單,你可以 到這里下載此js插件文件

然后在至少引入 jQuery 后的某個位置加入

      <script src="jQuery.hash.js" type="text/javascript"></script>
    

?

?

寫在最后

插件下載鏈接在上面。在此要感謝 Lewis ,這個插件是基于他的 jQuery ? hash plugin修改的。目前不支持中文開頭的key名。首先我考慮了一下,hash后面如果出現的是?或者&這些正規的參數符號的話比較容易和hash井號前面的參數混淆,所以我選擇了一個更美觀的符號“;”分號,占用體積小幾乎看不到,但是不影響使用;不會和前面出現問號和and符號混淆,而且這個也不需要兩個符號,只需要分號而已。但如果你需要傳統and符,你可以去原作者網站上下載,或者基于這個插件自行修改。

謝謝收看。

?

原文: http://blog.netsh.org/posts/jquery-hash-plugin_1455.netsh.html

?

更多參考:

1.? http://benalman.com/code/projects/jquery-hashchange/docs/files/jquery-ba-hashchange-js.html

2.? https://github.com/gcoguiec/jquery-hash

3. ? https://github.com/blixt/js-hash

?

justcode.ikeepstudying.com

jQuery hash 插件


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久夜色视频 | 香蕉亚洲精品一区二区 | 久久网页 | 亚洲香蕉影院 | 伊人精品在线视频 | 在线播放人成午夜免费视频 | 女性特黄一级毛片 | 久久艹精品 | 在线免费视频国产 | 精品免费在线视频 | 夜夜夜网站 | 一级毛片一级片 | 亚洲精品久久久久综合91 | 亚洲日本欧美产综合在线 | 在线中文字幕亚洲 | 狼人伊人干 | 天天曰夜夜曰 | 成在线人永久免费播放视频 | 亚洲精品乱码久久久久久 | 亚洲成a人v大片在线观看 | 国产毛片一区二区三区精品 | 成年女人视频在线观看免费 | 欧日韩不卡在线视频 | 99视频在线看 | 欧美成人精品第一区二区三区 | 久久99这里只有精品国产 | 五月花精品视频在线观看 | 国产精品久久久久久麻豆一区 | 日韩免费一级片 | 日韩免费精品一级毛片 | 国产成人久久精品区一区二区 | 中文字幕亚洲日韩无线码 | 久久精品这里只有精品 | 午夜色网| 国产第一区二区三区在线观看 | 天天成人综合网 | 午夜精品久久久久久久90蜜桃 | 国产日韩一区二区三区 | 青青久久国产成人免费网站 | 成人亚洲精品 | 国产高清视频免费 |