zoukankan      html  css  js  c++  java
  • 第一个:_Config.js

    第一个:框架配置
    主要对Apq框架进行设置,如果页面涉及frame/ifram,同时标识引入Apq的最外层window。

    /* 系统设置
     *
     * 每个项目均应单独建立该文件
     *
     * 2006-04-14    黄宗银
     * 
    */


    /// Apq 框架设置 ------------------------------------------------------------------------------------------------------------------------------
    window.Apq$Config = {
        
    // 调试
        DEBUG: true,

        
    // Apq 脚本库根目录
        Apq: "/Apq/",

        
    // 起始页面地址
        Home: "/OurWords/User/"
    }
    ;
    /// 以下一般不用修改 --------------------------------------------------------------------------------------------------------------------------
    //
    / 检测 MsXml 
    function MsXml_Test()
    {
        
    try
        
    {
            
    try
            
    {
                window.Apq$jsxh 
    = new XMLHttpRequest();
            }

            
    catch(e)
            
    {
                window.Apq$jsxh 
    = new ActiveXObject( "MsXml2.XMLHttp" );
            }

        }

        
    catch(e)
        
    {
            
    if( window.confirm( '系统需要启用 ActiveX 运行权限,请检查安全设置.\n\n' + 
                '同时还需要安装Microsoft XML 分析器 MSXML 
    6.0\n' + 
                '如果你未安装,请点击
    "确定"打开下载\n' + 
                '注意:安装后可能需要重新打开IE' ) )
            
    {
                window.open( 
    "http://download.microsoft.com/download/2/e/0/2e01308a-e17f-4bf9-bf48-161356cf9c81/msxml6.msi""_blank" );
            }

            
    return false;
        }

        
    return true;
    }


    /// eval 扩展 ---------------------------------------------------------------------------------------------------------------------------------
    //
    / 用无参匿名函数的形式,以指定上下文运行代码
    window.anonymous = function( str, o ){
        
    var fn = new Function( str );
        fn.call( o );
    }
    ;

    /// 在指定窗口 添加/运行 脚本
    window.__eval = function( win, str ){
        
    if( win.document.readyState == "complete" || Apq$Config.DEBUG )
        
    {
            
    // 该方式 ViewPage 插件看不到源代码,但调试可见
            win.eval( str );
        }

        
    else
        
    {
            
    // 该方式调试时看不到源代码,一定程度上实现了程序逻辑的隐藏
            win.document.writeln( '<script type="text/jscript">' );
            win.document.writeln( str );
            win.document.writeln( '
    <\/script>');
        }

    }
    ;

    // 初始化脚本容器
    window.Apq$jsContainer = {};

    /// 系统初始化,需且仅需运行一次(系统已自动处理)
    window.Apq_Init = function()
    {
        
    // 保证每个页面均只运行一次
        if( window.Apq$ && Apq$.Apq )
        
    {
            
    return;
        }


        window.Apq$ 
    = window.parent.Apq$ || window;    // 保存框架窗口引用
        
        
    // 表示以本窗口为顶级引入 Apq 框架
        if( window.Apq$ == window )
        
    {
            window.Apq 
    = {
                
    "__key""namespace",
                
    "__type""Apq"
            }
    ;

            
    // 将最基本的脚本文件(Apq)导出到指定窗口
            Apq.Export = function( win, ns ){
                
    if( ns != "Apq" && ns != "Apq.Debug" )
                
    {
                    
    return;
                }

                
    if( Apq$jsContainer[ns] )
                
    {
                    __eval( win, Apq$jsContainer[ns] );
                    
    return;
                }

                
                
    if!window.Apq$jsxh && !MsXml_Test() )
                
    {
                    
    return;
                }

                
    var url = Apq$Config.Apq + ns + ".js";
                
    if( Apq$Config.DEBUG )
                
    {
                    url 
    += "?t=" + Math.random()
                }

                Apq$jsxh.open( 
    "GET", url, false );
                Apq$jsxh.send();
                
    if( Apq$jsxh.status == 200 )
                
    {
                    Apq$jsContainer[ns] 
    = Apq$jsxh.responseText;
                    __eval( win, Apq$jsContainer[ns] );
                    
    return;
                }

                
    throw new Error( Apq$jsxh.status, Apq$jsxh.statusText );
            }
    ;
        }


        
    // 非 Apq.aspx 页面,则从主框架页导入 Apq 框架
        if( Apq$Config.DEBUG || !window.Apq$main )
        
    {
            Apq$.Apq.Export( window, 
    "Apq" );
        }

        
        
    if( Apq$Config.DEBUG )
        
    {
            Apq$.Apq.Export( window, 
    "Apq.Debug" );
            
            
    // 调试模式时提示所有运行异常
            window.onerror = function(sMsg,sUrl,sLine){
                Apq.Debug.writeln( 
    "\t运行时错误\n行数:" + sLine + "\n信息:" + sMsg + "\n网址:" + sUrl );
            }
    ;
        }

    }
    ;

    // 非 Apq.aspx 页面时立即初始化
    if!window.Apq$main )
    {
        window.Apq_Init();
    }

  • 相关阅读:
    python第三天
    python第二天
    python第一天
    Linux之VIM常用功能
    Linux输入输出管理
    Linux文件操作及管理
    Linux虚拟机基本操作
    JAVA堆,栈的区别,用AarrayList、LinkedList自定义栈
    mysql优化limit
    MySql五大引擎的区别以及优劣之分
  • 原文地址:https://www.cnblogs.com/Apq/p/A_Config.html
Copyright © 2011-2022 走看看