最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

監(jiān)控 url fragment變化的js代碼

 更新時間:2010年04月19日 21:18:49   作者:  
url 里面的 #后面的部分 可以實現(xiàn)無刷新的改變url 的值。這個特點非常有用。比如視頻網(wǎng)站土豆中的豆單,你進入視頻列表以后,點擊播放某個視頻。
當然,頁面最好不要刷新,但是,拷貝一下瀏覽器的鏈接,又希望是下次能定位到你播發(fā)的那個視頻。方法很簡單,改變一下 url 的 fragment 就可以了。

監(jiān)聽fragment 的變化是這類編程的核心。在主流的瀏覽器(IE firefox)里面 都有一個 onhashchange 的事件監(jiān)聽 fragment 的變化。
但是,他們的行為有些差異。在IE8 以前的 IE版本里面,當 window.location 對象迅速變化的情況下,onhashchange 不會觸發(fā),非常奇怪的bug。

下面我寫的 onhashchange 事件 沒有瀏覽器的差異。并且加入了一個功能,頁面初始化的時候,如果 url 中 有 fragment ,也觸發(fā)一下
onhashchange 事件。

復制代碼 代碼如下:

function addFragmentChangeEvent(callback)
{
var source = document.URL;
var url = source.split("#")[0];
if (window.location.hash)
{
var base_hash = "#____base____hash____";//改變hash,使得頁面初始化的時候觸發(fā)一下事件函數(shù)。
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 中間常用的技巧,模擬一個事件的作用。

相關文章

最新評論

华亭县| 潼关县| 洱源县| 凤城市| 玉山县| 乃东县| 石渠县| 宜州市| 右玉县| 棋牌| 霍林郭勒市| 达拉特旗| 青田县| 集安市| 秀山| 申扎县| 江津市| 连云港市| 读书| 南丹县| 通州市| 泽普县| 炎陵县| 句容市| 洛川县| 安溪县| 晋宁县| 南京市| 广宁县| 大名县| 南乐县| 精河县| 胶州市| 平乡县| 广昌县| 通化市| 南靖县| 神农架林区| 天柱县| 乌苏市| 突泉县|