69 lines
1.7 KiB
JavaScript
69 lines
1.7 KiB
JavaScript
(function(){
|
||
function getHashParms(){
|
||
//获取hash数据,处理为字典,方便拼接多个hash值
|
||
var hash = location.hash.replace('#','');
|
||
var res = {};
|
||
if(hash){
|
||
var hashArr = hash.split('&');
|
||
for(var i=0;i<hashArr.length;i++){
|
||
var kv = hashArr[i].split('=');
|
||
res[kv[0]] = kv[1];
|
||
}
|
||
}
|
||
return res;
|
||
}
|
||
|
||
function setHashParms(k,v){
|
||
//设置一个hash值
|
||
var hash = [];
|
||
var kv = getHashParms();
|
||
kv[k] = v;
|
||
for(var k in kv){
|
||
hash.push( k+'='+kv[k] );
|
||
}
|
||
location.hash = hash.join('&');
|
||
}
|
||
|
||
function setContentByUrl(url,id,fillTo){
|
||
//通过url设置内容页,本质上就是一个ajax请求+填充
|
||
if(!id){
|
||
if(!fillTo)fillTo=$('#main-content');
|
||
}else {
|
||
if(!fillTo)fillTo=$('#'+id);
|
||
}
|
||
$.get('pages/'+ url + '.html',function(content){
|
||
// fillTo.empty();
|
||
fillTo.html(content);
|
||
X.event.emit('pageOnLoad',url);
|
||
X.pageLogic[url] && X.pageLogic[url].init && X.pageLogic[url].init();
|
||
});
|
||
}
|
||
|
||
X.gourl = function(url,id){
|
||
setHashParms('page',url);
|
||
setContentByUrl(url,id);
|
||
};
|
||
|
||
|
||
$(function(){
|
||
//拦截所有class里有ajax-content的链接,由直接跳转修改为ajax跳转
|
||
$('body').on("click",".ajax-content",function(){
|
||
var href = $(this).attr('href');
|
||
var id = $(this).attr('data-id');
|
||
X.gourl(href,id);
|
||
return false;
|
||
});
|
||
//设置主页,如果hash里有值的话,设置为hash的值,方便复制url传播
|
||
var hash = getHashParms();
|
||
setContentByUrl(hash.page || 'login');
|
||
});
|
||
|
||
$(document).keydown(function (event) {
|
||
if (event.keyCode == 116) {
|
||
|
||
console.log('刷新')
|
||
return false;
|
||
}
|
||
});
|
||
|
||
})(); |