`
jsczxy2
  • 浏览: 1275224 次
  • 性别: Icon_minigender_1
  • 来自: 常州
文章分类
社区版块
存档分类
最新评论

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

    博客分类:
  • ext
阅读更多

先来做个例子吧,这里写一个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" class="x-hidden">  
             <input type="hidden" 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>
1
0
分享到:
评论

相关推荐

    uasm248_x64.zip

    5. History.txt 和 License.txt:分别记录了UASM的更新历史和许可协议,了解这些信息有助于我们合法且有效地使用该软件。 6. Readme.txt:通常包含了一些快速启动的提示和注意事项,是初次使用者应该首先查阅的文件...

    mtk history机制

    `EntryNewScreen`函数是`History`机制的核心之一,主要用于创建一个新的屏幕实例,并将相关信息添加到`History`列表中。具体步骤如下: - **步骤1**: 设置`currTopScrnID`为新的屏幕ID。 - **步骤2**: 执行当前屏幕...

    UNIXLINUX操作系统课程考试B卷试卷和答案.pdf

    13. Linux默认文件系统:Linux默认的文件系统是`Ext`系列,如`ext2`、`ext3`或`ext4`,选项C正确。 14. 删除文件命令:`rm`命令用于删除文件,选项D正确。 15. 热启配置:在`/etc/inittab`中,为了实现热启,应...

    ASUS P1000.pdf

    【ASUS P1000】主板设计详解 ASUS P1000是一款基于Intel 945GMS芯片组的主板,适用于轻薄型笔记本电脑或上网本。该主板设计精巧,集成了多种功能,以满足高效能、低功耗的需求。 1. **处理器**:该主板支持Intel ...

    MTK学习笔记.doc

    3. **History功能详解** History功能是MTK平台上处理屏幕切换的重要机制。它采用栈的结构来保存屏幕的历史记录,以便在接收到异步事件(如来电)时,能够暂时切换到新屏幕并恢复之前的屏幕内容。结构体`_history`...

    unix期末考试题借鉴.pdf

    【知识点详解】 1. **进程状态监控**:在Unix系统中,实时监控进程状态的命令是`top`,它能够动态地显示出系统中各个进程的资源占用状况,如CPU使用率、内存使用情况等。 2. **查看文件内容**:要查看文件内容,...

    Linux运维工程师笔试题

    ### Linux运维工程师笔试题知识点详解 #### 一、查询指定IP地址的服务器端口命令 在Linux环境中,可以通过多种工具来查询指定IP地址上的开放端口。其中最常用的是`nmap`工具。 **命令格式**: ```sh nmap [选项] ...

    Ubuntu Linux 命令行简明教程.pdf

    - **文件系统差异**:Windows 使用 NTFS 文件系统,而 Linux 多使用 EXT4 或 XFS。 - **命令行工具**:Windows 使用 cmd.exe 和 PowerShell,而 Linux 使用 bash 等 shell。 - **图形用户界面**:虽然两者都提供图形...

    linux常用的基本命令

    - **功能**:创建 ext2/ext3 文件系统。 - **示例**:`mke2fs -t ext3 /dev/sda1` 在 `/dev/sda1` 上创建 ext3 文件系统。 #### dd - **功能**:数据复制和转换。 - **示例**:`dd if=/etc/passwd of=/tmp/passwd....

    linux基本命令

    `mke2fs`命令用于创建ext2/ext3/ext4文件系统,是`mkfs`的别名之一。 #### 38. `dd` `dd`命令用于进行数据转换和复制,是备份和恢复的重要工具,如`dd if=/etc/passwd of=/tmp/passwd.bak`备份`/etc/passwd`到临时...

    cvs命令初学教材及速查手册

    使用`cvs init`命令初始化一个新的CVS仓库: ```shell cvs init ``` 创建一个新项目并导入仓库: ```shell cvs import -m "writesomecommentshere" project_name vender_tag r_tag ``` - **检查出项目**...

    CMD命令速查手册(详细带参数说明全)

    ### CMD命令速查手册知识点详解 #### 一、概述 CMD命令速查手册是一份全面介绍Windows命令行界面中常用命令及其用法的手册。它不仅适用于初学者快速上手,也适合有经验的用户查阅复杂的命令选项。本文将根据提供的...

    MTK消息分发及窗口管理机制

    3. **Highlight事件**: 主要涉及界面高亮显示等功能。 4. **Timer事件**: 与定时器相关的事件。 #### PS事件深入解析 PS事件是消息分发机制的核心,它通过消息分发表中的事件ID与相应的处理函数建立联系。当MMI...

    关于的cmd命令简略

    #### 常用命令详解 1. **HELP** - 显示所有内部命令的帮助信息。 - `HELP &lt;command&gt;` 显示指定命令的帮助信息。 2. **ASSOC** - 显示或修改文件扩展名与程序之间的关联。 - `ASSOC .ext` 显示特定扩展名的关联...

    Lunix_shell命令

    ### Linux Shell 命令详解 #### 一、概述 Linux Shell 是一种用户与操作系统进行交互的命令行界面。通过 Shell,用户可以执行各种命令来管理文件、运行程序、配置系统等。本篇将详细介绍一系列常用的 Linux Shell ...

    linux系统命令及VI用法

    VI编辑器是Linux系统中最常用的文本编辑器之一,具有强大的文本编辑功能。以下是使用VI编辑器的一些基本方法: 1. **进入编辑模式** - `vi filename`: 打开一个文件进行编辑。 - `vim filename`: 使用VIM编辑器...

    Linux学习笔记基础知识版 (2)

    - **ext2和ext3之间的转换**:使用`tune2fs`命令进行文件系统类型的转换。 - **LVM和RAID** - **LVM**(逻辑卷管理):提供了在物理卷之上创建逻辑卷的能力,使得磁盘空间的管理和扩展更加灵活。 - **RAID**...

    JEECMS V7最新最全数据字典

    ### JEECMS V7 数据字典详解 #### 一、概述 JEECMS是一款基于Java技术构建的内容管理系统(Content Management System, CMS),适用于多种网站应用场景,包括但不限于新闻资讯、企业门户等。本文档针对JEECMS V7版本...

    linux学习书籍

    - **e2label**:用于更改ext2/ext3文件系统的卷标。 - **echo**:输出文字到标准输出设备。 - **edquota/env/expand/export**:用于编辑配额设置、查看环境变量、格式化文本、导出变量等。 - **EXT2 filesystem**:...

Global site tag (gtag.js) - Google Analytics