首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

EXT 3.x 运用详解之Ext.History浏览器前进后退功能(一)

2012-11-15 
EXT 3.x 使用详解之Ext.History浏览器前进后退功能(一)先来做个例子吧,这里写一个ext官方的例子,注意注释:

EXT 3.x 使用详解之Ext.History浏览器前进后退功能(一)

先来做个例子吧,这里写一个ext官方的例子,注意注释:

<%@ page language="java" pageEncoding="UTF-8"%><%@ include file="/common/taglib.jsp"%>//自己加入ext相应的css和js,这里就不再写明了<html><head><title>Ext3浏览器前进后退功能</title><script type="text/javascript">Ext.onReady(function() {//初始化history组件    Ext.History.init();    //设置截断符    var tokenDelimiter = ':';            var tp = new Ext.TabPanel({        renderTo: Ext.getBody(),        id: 'main-tabs',        height: 300,        width: 600,        activeTab: 0,//默认显示第一个标签                items: [{            xtype: 'tabpanel',            title: 'Tab 1',            id: 'tab1',            activeTab: 0,//默认显示第一个标签            tabPosition: 'bottom',//在下方                        items: [{                title: 'Sub-tab 1',                id: 'subtab1'            },{                title: 'Sub-tab 2',                id: 'subtab2'            },{                title: 'Sub-tab 3',                id: 'subtab3'            }],                        listeners: {                'tabchange': function(tabPanel, tab){                //tab1切换时修改浏览器hash                    Ext.History.add(tabPanel.id + tokenDelimiter + tab.id);                }            }        },{            title: 'Tab 2',            id: 'tab2'        },{            title: 'Tab 3',            id: 'tab3'        },{            title: 'Tab 4',            id: 'tab4'        },{            title: 'Tab 5',            id: 'tab5'        }],                listeners: {            'tabchange': function(tabPanel, tab){            //main-tabs切换时修改浏览器hash                    Ext.History.add(tabPanel.id + tokenDelimiter + tab.id);            }        }    });        //获取浏览器hash中#后面的字符串    Ext.History.on('change', function(token){        if(token){        //如果有字符串则进行相应处理            var parts = token.split(tokenDelimiter);            var tabPanel = Ext.getCmp(parts[0]);            var tabId = parts[1];                        tabPanel.show();            tabPanel.setActiveTab(tabId);        }else{        //如果没有字符串则直接默认第一个标签页            tp.setActiveTab(0);            tp.getItem(0).setActiveTab(0);        }    });});</script></head><body><!-- Ext.History所需的form  begin--><form id="history-form" id="x-history-field" />               <iframe id="x-history-frame">               </iframe>          </form>     <!-- Ext.History所需的form  end -->                 <!-- 测试一下刷新 -->      <input type="button" onclick="Ext.History.fireEvent('change',Ext.History.getToken());" value="刷新">           <!-- 测试一下直接使用add的效果 -->       <input type="button" onclick="Ext.History.add('main-tabs:tab1');" value="第一页">            <!--       最后解释下步骤,首先把tabchange事件绑定到Ext.History      然后再使用Ext.History来进行事件处理        然后试试操作以后使用浏览器的前进后退就能看到效果了       --></body></html>

热点排行