这个框架采用的是iframe方式组织主页和子页面的,所以有很多操作需要跨iframe执行,所以开放了一些接口,框架中的页面操作有以下几种:
本页面只做API接口的说明和实现的机制,具体的示例,在其他页面中展示。
在框架页上开放的接口,是跨iframe实现的,注意跨域问题。
pageInfo
,是一个键值对
框架页上开放了一个对象,topManager
,注意一下几点:
下面是一些打开页面的示例,都是直接调用对应的API完成的,更加方面的使用方式,在具体的页面中说明。
//进行操作时,必须判断页面是否在框架页内, //否则报错 if(top.topManager){ //打开左侧菜单中配置过的页面 top.topManager.openPage({ id : 'main-menu', search : 'a=123&b=456' }); }
//打开相对地址,相对地址,必须以框架页面(main页面)为起始,不是相对于当前页面的位置 top.topManager.openPage({ id : 'test1', href : 'main/test.html', title : '相对地址页面' }); //打开绝对路径,可以是同域的,也可以是外部链接 top.topManager.openPage({ id : 'baidu', href : 'http://www.baidu.com', title : '百度页面' });
关闭页面一般用于3种情形:
//关闭当前页 top.topManager.closePage(); //关闭其他页面时,如果页面未打开,不进行任何操作 top.topManager.closePage('main-menu'); //打开其他页面并关闭本页,常用于成功、失败页面的跳转 top.topManager.openPage({ id : 'main-menu', isClose : true });
刷新页面一般用于2种情形:
一般修改标题发生在本页跳转时,跳转到的页面跟本页面标题不一致,可以:
一般我们在项目中使用第二种方式,第一种方式限于,跳转的页面自己不能控制时
//修改本页面标题 top.topManager.setPageTitle("新的标题"); //修改其他页面标题 top.topManager.setPageTitle("新的标题","main-menu");
页面操作中常见的问题如下:
还有几个未处理的问题: