`
shuaigg.babysky
  • 浏览: 567886 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

模拟jquery hash 写了个自己的版本

阅读更多
;(function($) {
	$.extend({
		hash : function(name , value) {
			function isString(str) {
				return typeof str == 'string' && Object.prototype.toString.call(str) === '[object String]';
			}
			if(!isString(name) || $.trim(name) == '') return;
			var reg = new RegExp("[&|#]" + name + "=([^&]*)" , "i");
			var hash = location.hash;
			if(value || value === null) {
				hash = hash.replace(reg , '').replace(/^[#|&]/ , '');
				if(value !== null) {
					//set a hash
					location.hash = hash == '' ? name + "=" + encodeURIComponent(value) : hash + "&" + name + "=" + encodeURIComponent(value) ; 
				} else {
					//delete a hash
					location.hash = hash;
				} 
			} else {
				//get a hash value
				if(reg.test(hash)) {
					return decodeURIComponent(RegExp.$1);
				} else {
					return '';
				}
			}
		}
	});  
})(jQuery);
分享到:
评论

相关推荐

    jquery.hash.min.js 和 jquery.ba-hashchange.min.js

    在某些浏览器中,如 IE6、7、8,原生并不支持 hashchange 事件,因此这个插件通过定时检查 URL hash 来模拟这一事件,确保在这些浏览器中也能正常监听 hash 的变化。这使得开发者无需担心兼容性问题,可以在各种...

    超实用的jQuery代码段

    超实用的jQuery代码段精选近350个jQuery代码段,涵盖页面开发中绝大多数要点、技巧与方法,堪称史上最实用的jQuery代码参考书,可以视为网页设计与网站建设人员的好帮手。《超实用的jQuery代码段》的代码跨平台、跨...

    jQuery单页内跳转整站代码

    jQuery的单页内跳转功能就是基于这个理念,它利用URL哈希(#)或者History API来模拟页面间的导航,实现在同一个HTML文档内的不同“视图”间切换。 在jQuery中,我们可以使用`$.fn.scrollTo`插件或自定义函数来实现...

    JQuery HashChange插件修改.rar

    修改插件时,可以添加一个polyfill,使用定时器模拟HashChange事件,确保在这些浏览器中也能正常工作。 6. **状态管理**:在大型应用中,可能需要保存和恢复哈希关联的状态。修改插件以存储和恢复状态数据,如`...

    Jquery Mobile a4 中文手册.zip

    《jQuery Mobile A4 中文手册》是一个专门为开发者和前端设计师准备的详尽参考资料,它涵盖了jQuery Mobile框架的各个方面,帮助用户深入理解和应用这个强大的移动Web开发工具。jQuery Mobile是一款轻量级、高度交互...

    jqueryMobile事件

    jQuery Mobile 是一个专为触摸设备优化的 JavaScript 框架,它扩展了 jQuery 的功能,使其更适合在移动设备上构建响应式和交互式的 web 应用。jQuery Mobile 的核心特性之一是它提供了一系列专为移动环境设计的事件...

    基于jQuery的history历史记录插件

    4. 支持的浏览器:jQuery history插件支持包括Internet Explorer 6、7和8+,Safari 4和5+,以及Google Chrome 4+在内的多个浏览器版本。对于不支持hashchange事件的浏览器,该插件还提供了一些后备机制来模拟此功能...

    jQuery mobile 移动web(6)

    jQuery Mobile 是一个基于 jQuery 的 UI 框架,旨在创建一个统一的用户体验,不论用户使用何种移动设备或平台。它主要用于简化移动web应用的开发,允许开发者使用 HTML、CSS 和 JavaScript 编写一次代码,即可在所有...

    关于hashchangebroker和statehashable的补充文档

    这个插件通过定时检查Hash值来模拟`hashchange`事件,确保在旧版浏览器中也能实现对Hash变化的监听。 **Hashchangebroker** Hashchangebroker是基于jQuery的一个扩展,它提供了一套方法来处理和管理URL Hash的变化...

    jquery-scroll-to:平滑滚动到当前页面上的哈希位置

    `jQuery Scroll To` 是一个流行的 JavaScript 插件,它允许开发者实现平滑、流畅的页面滚动效果。当用户点击带有哈希值(如 `#section1`)的链接时,页面会优雅地滚动到对应的位置,而不是立即跳转。这种效果在现代...

    页面禁止各种浏览器后退.txt

    3. **兼容不支持HTML5 History API的浏览器**:对于不支持`pushState`的旧版浏览器(如IE9及更早版本),使用第三方库(如History.js)来模拟类似的功能。这里使用`History.pushState`方法来达到相同的效果。 4. **...

    css3+js可通过缩略图幻灯片导航的页面切换效果

    `jQuery之家.url`是一个书签文件,可能包含了关于jQuery学习资源的链接。`readme.html`通常包含项目说明或使用指南。最后,`css`目录下存放着样式表文件,用于定义页面和幻灯片的样式。 实现这个效果的具体步骤包括...

    js 框架 prototype 的帮助文档

    2. **DOM操作**:Prototype 提供了 `$` 和 `$$` 函数,前者用于选取单个元素,后者用于选取多个元素,类似于jQuery的选择器。`Element`对象包含一系列方法,如`observe()`, `stopObserving()`, `hide()`, `show()`, ...

    解决浏览器记住ajax请求并能前进和后退问题

    4. 通过hash变化事件监听器监听到URL的hash值发生变化时,获取新的hash值,并使用这个标识再次发送AJAX请求,从而更新页面内容。 5. 如此一来,用户点击浏览器的前进或后退按钮时,浏览器能够从历史记录中获取到带...

    Nginx负载均衡模式测试附件

    在测试Nginx的负载均衡时,通常会搭建多个模拟服务器(如`testserver`),通过修改Nginx配置文件,设置不同的负载均衡策略,然后使用`curl`或浏览器进行请求,观察和分析响应结果,以验证配置的有效性。 在附件中,...

    prototype中文帮助文档

    Prototype.js 是一个强大的JavaScript库,它为Web开发提供了一系列实用的功能,主要目的是简化JavaScript的使用,提高开发效率。这个“Prototype中文帮助文档”是专为理解并熟练运用Prototype.js设计的资源,对于...

    前端学科面试宝典面试题下载完整题目答案

    - **如何写一个 plugin**:plugin 通常需要实现特定的方法来扩展 webpack 的功能。 - **webpack 打包后文件体积过大怎么办**:可以通过优化配置、代码拆分等方式减小打包后的文件体积。 #### 五、前端框架 **1. ...

    前端Vue常见面试题大全.docx

    - **hash 模式:** 使用 URL 的 hash 来模拟一个完整的 URL,在浏览器地址栏中看到的 URL 中带有 # 符号。 - **history 模式:** 利用 HTML5 History 接口来完成 URL 跳转而无需重新加载整个页面。 **实现原理:** ...

    Backbone.js 0.9.2 源码注释中文翻译版

    Backbone依赖于两个外部库:`Underscore.js`和一个DOM库(如jQuery、Zepto或ender)。`_`是Underscore的别名,如果在环境中没有找到,它会尝试通过`require`导入。`$`变量用于引用DOM库,通常为jQuery,但在移动端...

Global site tag (gtag.js) - Google Analytics