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

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條評論
主站蜘蛛池模板: 欧美亚洲第一页 | 日本不卡一 | 国产精品66在线观看 | 国产精品久久久久无码av | 美国一级毛片片免费 | 中文字幕亚洲专区 | 深夜在线免费视频 | 久久精品视频18 | 99国产福利视频区 | 久久国产一片免费观看 | 美女女女女女女bbbbbb毛片 | 色综合色综合色综合 | 中文字幕欧美日韩高清 | 国内视频一区 | 国外成人免费高清激情视频 | 国产高清自拍视频 | 免费一级欧美片在线观免看 | 久久精品免观看国产成人 | 天天爽夜夜爽精品视频一 | 久久r这里只有精品 | 91精品日本久久久久久牛牛 | 国产精品久久一区一区 | 999在线免费视频 | 国产精品视频不卡 | 日韩国产综合 | 国产成人福利在线 | 精品综合| 手机看片久久国产免费不卡 | 色资源网站 | 四虎影视免费在线 | 国产精品久久久久久久久久直 | 欧美日韩一区二区亚洲 | 久久66久这里精品99 | 欧美 亚洲 另类 热图 | 高清亚洲综合色成在线播放放 | 免费中文字幕在线观看 | 天天操天天干天天摸 | 亚洲男人的天堂久久无 | 99精品久久久久久久免费看蜜月 | 欧美久久一区二区 | free性欧美极度另类超级大 |