129 lines
4.3 KiB
JavaScript
129 lines
4.3 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,type){
|
||
//设置一个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);
|
||
}
|
||
X.DATA['page'] = url;
|
||
// console.log(url);
|
||
$.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){
|
||
if(url || id){
|
||
setHashParms('page',url);
|
||
setContentByUrl(url,id);
|
||
}
|
||
X.DATA['eventid'] = "";
|
||
X.DATA['ltvid'] = "";
|
||
X.DATA['retentionid'] = "";
|
||
};
|
||
|
||
|
||
$(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');
|
||
|
||
var n = window.event.screenX - window.screenLeft;
|
||
var b = n > document.documentElement.scrollWidth-20;
|
||
if(b && window.event.clientY < 0 || window.event.altKey){
|
||
//页面关闭
|
||
console.log('页面关闭');
|
||
}else{
|
||
//页面刷新
|
||
console.log('页面刷新111');
|
||
var query = window.location.href;
|
||
var querys = query.split("=");
|
||
console.log(querys[1]);
|
||
if(querys[1] != undefined && querys[1] != 'login'){
|
||
$("#conetnt").html("");
|
||
X.gourl('dashboard');
|
||
}
|
||
}
|
||
|
||
// $(document).keydown(function (event) {
|
||
// if (event.keyCode == 116) {
|
||
// event.preventDefault(); //阻止默认刷新
|
||
// console.log('刷新');
|
||
// var query = window.location.href;
|
||
// var querys = query.split("=");
|
||
// if(querys[1]){
|
||
// $("#conetnt").html("");
|
||
// var gourl = querys[1];
|
||
// X.gourl(gourl,'conetnt');
|
||
// }
|
||
// return false;
|
||
// }
|
||
// });
|
||
|
||
});
|
||
|
||
window.onhashchange = function(){
|
||
// console.log( getHashParms() );
|
||
var page = X.DATA['page'];
|
||
var urlinfo = getHashParms();
|
||
if(urlinfo.page == 'dashboard'){
|
||
for(let i in X.DATA['ProjectData']){
|
||
for(let j in X.DATA['ProjectData'][i]['children']){
|
||
if(X.DATA['ProjectData'][i]['children'][j]['_id'] == urlinfo.menu){
|
||
$(".tab-tit-box .tab-tit").html(X.DATA['ProjectData'][i]['children'][j]['name']);
|
||
X.DATA['ProjectData'][i]['children'][j]['onclick'] = 1;
|
||
}else{
|
||
X.DATA['ProjectData'][i]['children'][j]['onclick'] = 0;
|
||
}
|
||
}
|
||
}
|
||
|
||
X.laytpldata('#kongjian-dot',X.DATA['ProjectData'],'#kongjian');
|
||
X.DATA['page'] = urlinfo.page;
|
||
// console.log(urlinfo.page);
|
||
// console.log(urlinfo.menu);
|
||
if(page != urlinfo.page){
|
||
X.gourl(urlinfo.page,'conetnt');
|
||
}
|
||
X.DATA['dashboard_id'] = urlinfo.menu;
|
||
X.pageLogic['dashboard'].gettabledata();
|
||
}
|
||
};
|
||
|
||
//})();
|