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

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條評論
主站蜘蛛池模板: 久久精品视频免费 | 一区二区国产一区二区a4yy | 亚洲欧美日本在线 | 欧美网站www | 91精品国产色综合久久不 | 男人天堂视频在线 | 国产图片亚洲精品一区 | 久久这里有精品视频任我鲁 | 天天干天天操天天干 | 香港一级a毛片在线播放 | 久久久久日韩精品无 | 青青青在线视频播放免费 | 成人毛片18岁女人毛片免费看 | 欧美精品日本一级特黄 | 日本 毛片基地-亚洲 | 精品免费国产一区二区三区 | 亚洲国产综合精品中文字幕 | 久久久精品影院 | www.精品视频 | 久久99在线 | 免费视频福利 | 福利影院在线播放 | 日韩国产一区二区 | 黄色影院免费看 | 草久久久久 | 香蕉久久综合精品首页 | 在线观看国产精美视频 | 国内精品视频在线 | 国产成人啪精品 | 欧美日本视频在线观看 | 欧美亚洲日本国产 | 一级毛片免费在线播放 | 精品少妇一区二区三区视频 | 欧美成人精品一级高清片 | 草草影院一级毛片a级 | 久久久青草青青国产亚洲免观 | 国产一区二区三区在线观看视频 | 亚洲系列中文字幕一区二区 | 91精品综合久久久久3d动漫 | 一个色综合亚洲色综合 | 99国内精品 |