Extjs6.2系列之动态设置主页面(MainView)
来源:互联网 发布:淘宝高佣金采集 编辑:程序博客网 时间:2024/04/29 19:56
在做qq登录时遇到一个情况,用户在qq的第三方的登录界面授权成功后,qq账号服务框架会打开你设置的回调页面,并将授权信息存储在hash中,由于Extjs只有一个index.html页面,其所有的视图都由js代码在index.html上动态创建出来,这样就不可避免的遇到这样一个问题,如果你在app.js中设置的mainView是你的登录界面(不妨叫做loginView),那么在qq登录成功后,浏览器打开回调窗口到网站首页,网站首页不应该是登录界面(loginView)而应该为你的内容页面(不妨叫做indexView)。
要解决这个问题显然至少有两种方法,第一种就是网站登录部分做成一个独立的工程,主页面做成另一个工程,将qq的回调地址指向主页面的工程,这个方法有点死板,而且比较浪费资源,估计没人会使用这个死办法。第二种方法就是动态的设置应用的mainView,在首次访问网站时将mainView 设置成loginView,qq授权后回调打开网站时将mainView设置成indexView,区别这两种情况的方式就在于前面提到的url中的hash值是否包含qq授权信息,app.js中的具体代码如下:
// mainView: 'MyMonitor.view.Login',launch: function() { var s = location.hash.toString();//获得url中包含的hash值 if(s){//如果hash值不为空,将页面设置成网站内容界面,如果为空则设置成登录界面
this.setMainView('MyMonitor.view.main.Main'); }else { this.setMainView('MyMonitor.view.Login'); }}其实这里有一点我比较疑惑,根据Extjs6.2的官方文档,launch方法会在页面被加载完成时触发(原文:Called automatically when the page has completely loaded.),按照正常理解这里的page指的应该是你设置的mainView,但是上面的代码并没有配置mainView,貌似不符合页面加载完成这一条件不能触发launch函数,兴许是我理解错了吧,还望各位大神指教啊。
初写博客,内容难免有疏漏之出,还望多指正包涵
0 0
- Extjs6.2系列之动态设置主页面(MainView)
- Extjs6.2系列之设置全局变量
- [Extjs6]Ext.application设置mainView后无法修改,切换界面采用以下方法
- Extjs6.2系列之开发环境搭建
- Extjs6.2系列之Ajax跨域
- main主页面设置
- 操作主页面设置
- ExtJs6.0.0系列之(创建新View)
- Mainview
- CSDN博客主页面设置
- 设置访问的主页面
- 利用RadioGroup嵌套RadioButton实现Android主页面底部导航栏动态设置图片大小
- Extjs6.2系列之图片组件及click点击事件监听
- Android 仿微信之(二)--主页面实现篇
- Android 仿微信之(二)--主页面实现篇
- Android 仿微信之(二)--主页面实现篇
- ExtJs6.0 总结(2)
- android 设置主页面的方式
- pxe网络自动化安装
- PAT A1092. To Buy or Not to Buy (20)
- 制作交叉编译编译工具链
- 1053. Path of Equal Weight (30)
- java 找不到或无法加载主类
- Extjs6.2系列之动态设置主页面(MainView)
- shell脚本中多进程的应用
- python -- 02 编码
- UnicodeEncodeError: 'gbk' codec can't encode character '\xXX' in position XX
- bzoj1036 [ZJOI2008]树的统计Count
- 带表头的循环单项链表
- HDU 2177 威佐夫博弈
- 为什么 Material Design 在国内没有被大量推行?
- Altium Designer设计适合打样的PCB