手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >监控 url fragment变化的js代码
监控 url fragment变化的js代码
摘要:当然,页面最好不要刷新,但是,拷贝一下浏览器的链接,又希望是下次能定位到你播发的那个视频。方法很简单,改变一下url的fragment就可以...

当然,页面最好不要刷新,但是,拷贝一下浏览器的链接,又希望是下次能定位到你播发的那个视频。方法很简单,改变一下 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 中间常用的技巧,模拟一个事件的作用。

【监控 url fragment变化的js代码】相关文章:

简介JavaScript中用于处理正切的Math.tan()方法

实现DIV圆角的JavaScript代码

JS实现上下左右对称的九九乘法表

获得当前页面URL地址的三个JS代码

Ctrl + Enter提交前检测的代码

光标定位等TextRange的操作的范例代码

与ClientWidth有关的一点资料

精确到分钟的js日历控件,日期选择器代码

网页里控制图片大小的相关代码

js跨域请求的5中解决方式

精品推荐
分类导航