第一个:_Config.js

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

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

None.gif
None.gif
// / Apq 框架设置 ------------------------------------------------------------------------------------------------------------------------------
ExpandedBlockStart.gifContractedBlock.gif
window.Apq$Config  =   dot.gif {
InBlock.gif    
// 调试
InBlock.gif
    DEBUG: true,
InBlock.gif
InBlock.gif    
// Apq 脚本库根目录
InBlock.gif
    Apq: "/Apq/",
InBlock.gif
InBlock.gif    
// 起始页面地址
InBlock.gif
    Home: "/OurWords/User/"
ExpandedBlockEnd.gif}
;
None.gif
// / 以下一般不用修改 --------------------------------------------------------------------------------------------------------------------------
None.gif//
/ 检测 MsXml 
None.gif
function  MsXml_Test()
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
InBlock.gif    
try
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        
try
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            window.Apq$jsxh 
= new XMLHttpRequest();
ExpandedSubBlockEnd.gif        }

InBlock.gif        
catch(e)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            window.Apq$jsxh 
= new ActiveXObject( "MsXml2.XMLHttp" );
ExpandedSubBlockEnd.gif        }

ExpandedSubBlockEnd.gif    }

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

InBlock.gif        
return false;
ExpandedSubBlockEnd.gif    }

InBlock.gif    
return true;
ExpandedBlockEnd.gif}

None.gif
None.gif
// / eval 扩展 ---------------------------------------------------------------------------------------------------------------------------------
None.gif//
/ 用无参匿名函数的形式,以指定上下文运行代码
ExpandedBlockStart.gifContractedBlock.gif
window.anonymous  =   function ( str, o ) dot.gif {
InBlock.gif    
var fn = new Function( str );
InBlock.gif    fn.call( o );
ExpandedBlockEnd.gif}
;
None.gif
None.gif
// / 在指定窗口 添加/运行 脚本
ExpandedBlockStart.gifContractedBlock.gif
window.__eval  =   function ( win, str ) dot.gif {
InBlock.gif    
if( win.document.readyState == "complete" || Apq$Config.DEBUG )
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        
// 该方式 ViewPage 插件看不到源代码,但调试可见
InBlock.gif
        win.eval( str );
ExpandedSubBlockEnd.gif    }

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

ExpandedBlockEnd.gif}
;
None.gif
None.gif
//  初始化脚本容器
ExpandedBlockStart.gifContractedBlock.gif
window.Apq$jsContainer  =   dot.gif {} ;
None.gif
None.gif
// / 系统初始化,需且仅需运行一次(系统已自动处理)
None.gif
window.Apq_Init  =   function ()
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
InBlock.gif    
// 保证每个页面均只运行一次
InBlock.gif
    if( window.Apq$ && Apq$.Apq )
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        
return;
ExpandedSubBlockEnd.gif    }

InBlock.gif
InBlock.gif    window.Apq$ 
= window.parent.Apq$ || window;    // 保存框架窗口引用
InBlock.gif
    
InBlock.gif    
// 表示以本窗口为顶级引入 Apq 框架
InBlock.gif
    if( window.Apq$ == window )
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
ExpandedSubBlockStart.gifContractedSubBlock.gif        window.Apq 
= dot.gif{
InBlock.gif            
"__key""namespace",
InBlock.gif            
"__type""Apq"
ExpandedSubBlockEnd.gif        }
;
InBlock.gif
InBlock.gif        
// 将最基本的脚本文件(Apq)导出到指定窗口
ExpandedSubBlockStart.gifContractedSubBlock.gif
        Apq.Export = function( win, ns )dot.gif{
InBlock.gif            
if( ns != "Apq" && ns != "Apq.Debug" )
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
return;
ExpandedSubBlockEnd.gif            }

InBlock.gif            
if( Apq$jsContainer[ns] )
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                __eval( win, Apq$jsContainer[ns] );
InBlock.gif                
return;
ExpandedSubBlockEnd.gif            }

InBlock.gif            
InBlock.gif            
if!window.Apq$jsxh && !MsXml_Test() )
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
return;
ExpandedSubBlockEnd.gif            }

InBlock.gif            
var url = Apq$Config.Apq + ns + ".js";
InBlock.gif            
if( Apq$Config.DEBUG )
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                url 
+= "?t=" + Math.random()
ExpandedSubBlockEnd.gif            }

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

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

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

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

ExpandedBlockEnd.gif}
;
None.gif
None.gif
//  非 Apq.aspx 页面时立即初始化
None.gif
if ! window.Apq$main )
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
InBlock.gif    window.Apq_Init();
ExpandedBlockEnd.gif}

None.gif

转载于:https://www.cnblogs.com/Apq/archive/2006/12/21/A_Config.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值