作家
登录

监控 url fragment变化的js代码

作者: 来源:www.28hudong.com 2013-03-30 01:39:54 阅读 我要评论

当然,页面最好不要刷新,但是,拷贝一下浏览器的链接,又希望是下次能定位到你播发的那个视频。方法很简单,改变一下 url 的 fragment 就可以了。 监听fragment 的变化是这类编程的核心。在主流的浏览器(IE firefox)里面 都有一个 onhashchange 的事件监听 fragment 的变化。 但是,他们的行为有些差异。在IE8 以前的 IE版本里面,当 window.location 对象迅速变化的情况下,onhashchange 不会触发,非常奇怪的bug。 下面我写的 onhashchange 事件 没有浏览器的差异。并且加入了一个功能,页面初始化的时候,如果 url 中 有 fragment ,也触发一下 onhashchange 事件。 复制代码 代码如下: function addFragmentChangeEvent(callback) { var source = document.URL; var url = source.split("#")[0]; if (window.location.hash) { var base_hash = "#____base____hash____";//改变hash,使得页面初始化的时候触发一下事件函数。 window.location = url + base_hash; } var prevHash = window.location.hash; window.setInterval( function() { if (window.location.hash != prevHash) { prevHash = window.location.hash; callback(prevHash); } }, 100); if (window.location.hash) { window.location = source; } } 其实这个技巧是js 中间常用的技巧,模拟一个事件的作用。

  推荐阅读

  jQuery对象与DOM对象之间的转换方法

什么是jQuery对象? ---就是通过jQuery包装DOM对象后产生的对象。jQuery对象是jQuery独有的,其可以使用jQuery里的方法。 比如: $("#test").html() 意思是指:获取ID为test的元素内的html代码。其中html()是jQuer>>>详细阅读


本文标题:监控 url fragment变化的js代码

地址:http://www.17bianji.com/kaifa2/JS/26578.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)