UNPKG

1.6 kBJavaScriptView Raw
1// 获取URL #后面内容
2function getarg(url){
3 arg = url.split("#");
4 return arg[1];
5}
6
7// 页面资源加载完毕事件
8window.onload = function() {
9 // 取出URL地址判断当前所在页面
10 var pageArg = getarg(window.location.href)
11 // 从配置项中取出程序入口
12 var page = pageArg ? pageArg : globalConfig.entry
13 if (page) {
14 var entryDom = document.getElementById('ox-' + page)
15 if (entryDom) {
16 // 显示主页面
17 entryDom.style.display = 'block'
18 window.ozzx.activePage = page
19 runPageFunction(page, entryDom)
20 } else {
21 console.error('入口文件设置错误!')
22 }
23 } else {
24 console.error('未设置程序入口!')
25 }
26}
27
28// url发生改变事件
29window.onhashchange = function(e) {
30 var oldUrlParam = getarg(e.oldURL)
31 var newUrlParam = getarg(e.newURL)
32 // 查找页面跳转前的page页(dom节点)
33 // console.log(oldUrlParam)
34 // 如果源地址获取不到 那么一般是因为源页面为首页
35 if (oldUrlParam === undefined) {
36 oldUrlParam = globalConfig.entry
37 }
38 var oldDom = document.getElementById('ox-' + oldUrlParam)
39 if (oldDom) {
40 // 隐藏掉旧的节点
41 oldDom.style.display = 'none'
42 }
43 // 查找页面跳转后的page
44
45 var newDom = document.getElementById('ox-' + newUrlParam)
46 // console.log(newDom)
47 if (newDom) {
48 // 隐藏掉旧的节点
49 newDom.style.display = 'block'
50 } else {
51 console.error('页面不存在!')
52 return
53 }
54 window.ozzx.activePage = newUrlParam
55 runPageFunction(newUrlParam, newDom)
56}