我有两个页面。页面一中我已经用到extjs 的功能。页面二中是个TabPanel 。但是,我调用页面一的时候,页面一中的js无法执行。

解决方案 »

  1.   

    TabPanel2.jsp<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%><%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
    + request.getServerName() + ":" + request.getServerPort()
    + path + "/";
    %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <base href="<%=basePath%>">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    <link rel="stylesheet" type="text/css"
    href="js/ext/resources/css/ext-all.css" />
    <script type="text/javascript" src="js/ext/adapter/ext-base.js"></script>
    <script type="text/javascript" src="js/ext/ext-core.js"></script>
    <script type="text/javascript" src="js/ext/ext-all.js"></script>
    <script type="text/javascript" src="js/ext/ext-lang-zh_CN-min.js"></script> <script type="text/javascript" src="TabPanel2.js"></script>
    </head>
    <body>
    <div>
    <a id="AddNewTab" href="javascript:void(0)">添加新标签页</a>
    <iframe id="mainFrame" name="mainFrame" 
    frameborder="0" height="100%" width="100%" style="overflow: hidden;"></iframe>
    </div>
    </body>
    </html>
    TabPanel2.jsExt.onReady(function(){
        Ext.QuickTips.init();
        var tabsDemo = new Ext.TabPanel({
            renderTo: Ext.getBody(),
            activeTab: 0,
            height: 700,
            
            frame: true,
            enableTabScroll: true,//挤的时候能够滚动收缩
            //下面是比上面例子新增的关键右键菜单代码
            listeners: {
                //传进去的三个参数分别为:这个tabpanel(tabsDemo),当前标签页,事件对象e
                "contextmenu": function(tdemo, myitem, e){
                    menu = new Ext.menu.Menu([{
                        text: "关闭当前页",
                        handler: function(){
                            tdemo.remove(myitem);
                        }
                    }, {
                        text: "关闭其他所有页",
                        handler: function(){
                            //循环遍历
                            tdemo.items.each(function(item){
                                if (item.closable && item != myitem) {
                                    //可以关闭的其他所有标签页全部关掉
                                    tdemo.remove(item);
                                }
                            });
                        }
                    }, {
                        text: "新建标签页",
                        handler: addTab
                    }]);
                    //显示在当前位置
                    menu.showAt(e.getPoint());
                }
            },
            items: [{
                contentEl: "mainFrame",
                title: "autoLoad为html简单页面演示",
                tabTip: "fengjian",
                autoLoad: {
                    url: "learn1.jsp"
                }
            }]
        });
        //下面是添加新标签页的关键代码,很简单方便     
        var index = 0;
        function addTab(){
            tabsDemo.add({
                title: "ntab" + index,
                id: "newtab" + index,
                html: "new tab" + index,
                closable: true
            });
            tabsDemo.setActiveTab("newtab" + index);
            index++;
        }
        
        Ext.get("AddNewTab").on("click", addTab);
    });
      

  2.   

    learn1.jsp<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
    + request.getServerName() + ":" + request.getServerPort()
    + path + "/";
    %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <base href="<%=basePath%>">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title> <link rel="stylesheet" type="text/css"
    href="js/ext/resources/css/ext-all.css" />
    <script type="text/javascript" src="js/ext/adapter/ext-base.js"></script>
    <script type="text/javascript" src="js/ext/ext-core.js"></script>
    <script type="text/javascript" src="js/ext/ext-all.js"></script>
    <script type="text/javascript" src="js/ext/ext-lang-zh_CN-min.js"></script> <script type="text/javascript" src="lear1.js"></script>
    </head>
    <body>
    <div id="test1"></div>
    <input id="btn1" type="button" value="测试1"> 
    <input id="btn2" type="button" value="测试2"> 
    </body>
    </html>lear1.jsfunction yeorno(val){
        alert(val);
    }
    alert(1);
    Ext.onReady(function(){    /**
         * 计算进度条
         */
        Ext.get("btn1").on("click", function(){
            Ext.MessageBox.show({
                title: "df",
                msg: "dfd",
                progress: true,
                width: 300,
                closable: true
            });
            var f = function(v){
                return function(){
                    if (v == 12) {
                        Ext.MessageBox.hide();
                        Ext.MessageBox.show({
                            buttons: Ext.Msg.OK,
                            closable: false,
                            title: "提示",
                            msg: "加载完成了",
                            icon: Ext.MessageBox.INFO
                        });
                    } else {
                        var i = v / 11;
                        Ext.MessageBox.updateProgress(i, Math.round(100 * i) + "% completed", i);
                    }
                }
            }
            
            for (var i = 1; i < 13; i++) {
                setTimeout(f(i), i * 500);//从点击时就开始计时,所以500*i表示每500ms就执行一次
            }
            
        });
        
        
        /**
         * 时间进度条
         */
        Ext.get("btn2").on("click", function(){
            Ext.MessageBox.show({
                title: "时间进度条",
                msg: "5s后关闭进度框",
                progress: true,
                width: 300,
                wait: true,
                waitConfig: {
                    interval: 600
                },//0.6s进度条自动加载一定长度
                closable: true
            });
            setTimeout(function(){
                Ext.MessageBox.hide()
            }, 5000);//5后执行关闭窗口函数
        });
        
        
    });