`
天梯梦
  • 浏览: 13785877 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

jQuery hash 插件

 
阅读更多

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名前也有分号。

jquery-hash-demo-pic-a

如果要用传统URL传递,则是example.com/demo?keyA=valA&keyB=valB的样子。

另外,如果URL本身带有一段hash,比如存在网页本身的锚点书签跳转,再储存数据时则可以是这样:

jquery-hash-demo-pic-b

其中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.min.js 和 jquery.ba-hashchange.min.js

    而 `jquery.hash.min.js` 和 `jquery.ba-hashchange.min.js` 这两个文件则是在 jQuery 基础上扩展了对浏览器 URL hash 变化的处理,从而实现单页面应用(Single Page Application, SPA)中后退和前进按钮的刷新功能...

    jquery.hash:jQuery DOM元素哈希插件

    jQuery DOM元素哈希插件 支持的哈希方法 base64 md5 sha1 自己编译 如果要编译自己的版本或jquery.hash的修改 npm install node compile 抓取out/jquery.hash.min.js文件并将其插入! 例子 DOM元素 $elem = $ ...

    idTabs v3.0 简单易用的jQuery的Tab插件

    idTabs是一款基于jQuery库的轻量级Tab切换插件,其设计目标是提供一个简单、易用且功能齐全的解决方案,用于在网页中创建Tab式布局。这个插件以其直观的API和良好的浏览器兼容性而受到开发者的青睐。在本文中,我们...

    jquery分页插件jpages

    **jQuery分页插件jPages详解** 在网页开发中,数据分页是一种常见的优化加载速度和提高用户体验的方法。尤其在处理大量数据时,分页可以让用户更流畅地浏览信息,而不是一次性加载所有内容。`jQuery`是JavaScript的...

    JQuery HashChange插件修改.rar

    《jQuery HashChange插件修改详解》 在Web开发中,jQuery是一个广泛使用的JavaScript库,它极大地简化了DOM操作、事件处理以及Ajax交互等任务。而HashChange事件是HTML5引入的一个新特性,允许开发者监听浏览器URL...

    1000多个jquery常用插件.pdf

    - **导航到页内指定位置**:使用jQuery自动根据URL中的hash值定位到页面中的指定位置。 - **Automatically generate table of contents using jQuery**:利用jQuery自动生成目录。 - **“OutsidetheBox” Navigation...

    jQuery的单页面滚动插件

    **jQuery的单页面滚动插件**是Web开发中一种常用的技术,它允许用户在单一页面内通过滚动浏览多个“分页”内容,提供流畅且直观的用户体验。这种插件通常结合了JavaScript库jQuery,利用其强大的DOM操作和事件处理...

    jquery history

    **jQuery History 插件详解** 在Web开发中,页面历史管理是实现无刷新导航的关键,尤其是在单页应用程序(SPA)中。jQuery History插件提供了一种简单的方式来处理浏览器的History对象,使得开发者能够轻松地监听和...

    jquery插件开发快速入门

    ### jQuery插件开发快速入门详解 #### 一、概述 jQuery 是一款轻量级的 JavaScript 库,它简化了 HTML 文档遍历、事件处理、动画以及 Ajax 交互等操作。由于其简单易用的特点,jQuery 成为了最受欢迎的前端库之一...

    jquery平滑滚动插件

    **jQuery平滑滚动插件详解** 在Web开发中,用户界面的流畅性和用户体验是至关重要的。jQuery平滑滚动插件正是为了实现这一点而设计的,它使得网页元素的滚动过程更加平滑、自然,尤其在处理长页面和焦点图切换时...

    jquery插件库-jquery左侧导航滑动网页定位效果.zip

    这个压缩包“jquery插件库-jquery左侧导航滑动网页定位效果.zip”显然是关于一个jQuery插件,其核心功能是创建一个左侧导航,该导航在用户滚动页面时能够自动定位到相应的内容区域。 首先,让我们深入了解一下...

    jQuery md5加密插件jQuery.md5.js用法示例

    本文实例讲述了jQuery md5加密插件jQuery.md5.js用法。分享给大家供大家参考,具体如下: 使用方法: $.(md5("你想要加密的字符串")); jquery.md5.js插件代码: /** * jQuery MD5 hash algorithm function * *...

    jquery.scrollTo.js网页滚动插件下载.rar

    《jQuery.scrollTo.js网页滚动插件深度解析》 在网页设计中,流畅的用户交互体验是提升网站品质的关键因素之一。jQuery.scrollTo.js插件正是这样一款工具,它为开发者提供了强大的网页滚动控制功能,使得网页的整体...

    jQuery插件Feedify.zip

    Feedify 是个 jQuery 插件,用来把文本转换成 HTML feed ,类似 Twitter 和 Facebook。它能转换 URL 到链接,添加用户链接和 Hash 搜索链接。在线演示 标签:Feedify

    layui扩展第三方插件js包

    jQuery插件是基于jQuery的代码片段,用于扩展其功能,例如这里提到的几个插件都是jQuery相关的。 3. **jq插件**:在IT领域,"jq"通常作为jQuery的简称。这里的"layui jq插件"指的是与layui兼容的jQuery插件,用于在...

    jquery-hash-tag-input:用于编写哈希标签的 jquery 插件

    **jQuery Hash Tag Input 插件详解** 在网页开发中,哈希标签(#tags)已经成为了数据分类和用户互动的重要工具,特别是在社交媒体、博客和论坛等应用中。jQuery 是一个广泛使用的 JavaScript 库,它提供了丰富的...

    idTabs v3.0 简单易用的jQuery的Tab插件.zip

    idTabs v3.0是一款基于jQuery的轻量级Tab插件,专为简化网页界面的Tab切换功能设计。这款插件以其简洁的API和高效性能,成为开发者在构建响应式和交互式网页时的首选工具之一。在HTML5时代,idTabs更是能够充分利用...

    jquery的MD5

    ### jQuery MD5插件详解 #### 一、概述 在当今信息安全领域,数据加密与验证技术扮演着极其重要的角色。MD5(Message-Digest Algorithm 5)作为一种广泛使用的散列函数,因其高效的处理速度和相对的安全性,在多种...

    基于jQuery的history历史记录插件

    1. **URL Hash 存储应用状态**: 当用户在应用中进行操作时,jQuery History 插件可以将当前的应用状态保存到URL的哈希部分。例如,`http://example.com/#state1`。这使得当用户点击浏览器的后退或前进按钮时,可以...

    jQuery.scrollToHash:可定制的滚动到哈希 jQuery 插件

    可定制的滚动到哈希 jQuery 插件#Todos 抵消管理 滚动持续时间 宽松 打回来 目标检查 url重写真/假 速度管理 URL 中的页面更改宽度 # #如何使用##1。 加载 jQuery 和 scrollToHash 要使用 scrollToHash,您需要...

Global site tag (gtag.js) - Google Analytics