📄 global.js
字号:
/*
说明: 一个全局对象,它负责所有共用的方法和对象的创建工作,和一些系统中用到的常量的命名管理
作者:吴少刚
项目组:商格里拉项目组
创建日期:2006-11-21
*/
//创建一个全局的类,这个类拥有全局共用的方法和属性,
//这样做就像相当于加了命名空间,使方法易找易用。
//页面对象的统一管理,并有注解,利于查看每个控件的作用
var G = new Object();
G =
{
JSObjForLoad:null,
PageObj: {
Div_Nav: "divNav",//导航菜单容器 G.PageObj.Div_OtherFunc
Div_SimMenu:"divSimMenu",
Div_Feed: "Div_Feed",//装载提要的最大的Fram
Div_Info: "divInfoTooltip",//装载信息提示Frame或者一个Feed
Div_MenuFeed:"divMenuFeed",
Div_DM:"DM",//拖动装饰框,主要的任务是复制当前Feed的外观,然后实现动画拖动
Div_OtherFunc:"divOtherFunc" ,//装载其它功能的框架,如提交品牌的功能,可以拖动的
//登录后的提示用控件
Div_HeaderInfo:"divHeaderInfo",//头部信息 1.你现在是游客,系统不能长期保存你的设置,建议 注册
Div_LoginHeader:"divLoginHeader", //登录头部装载框
Div_LoginWelcome:"divLoginWelcom",//登录欢迎框
Div_Search:"divSearch", //搜索装载框 1.未登录显示热门,2.登录显示自已的
Div_Login:"divLogin",//登录界面装载框,它不和其它拖动功能页互拆
Div_Wait:"divWait", //页面加载时的等待层
Div_DataArea:"divDataArea",//页中装载数据的区哉
Div_Forbid:"divForbid"//禁用的图层,弹出登录图层后其它功能禁用,或者其它有用的图层后
},
//所有需要样式的列表,集中在这里以便在各处调用 Style.Feed.TitleBar.Title.Title
Style:{
Feed:{
TitleBar:{
CEIcon:"CEIcon", //展开和折叠的样式
Edit:"Edit", //编辑按钮样式
Close:"Close", //关闭按钮样式
UpDown:"UpDown", //上移和下移按钮的样式
FeedTitleBarWork:"FeedTitleBarWork", //标题栏中程序控制区(这个是关键,所有要控制的标题栏按钮均在此区域)
FeedEMCArea:"FeedEMCArea",
FeedTitleBar: "FeedTitleBar", //提要标题栏的默认样式
FeedTiBarMOverM:"FeedTitleBarMOverM", //提要标题栏当mouse经过时 当不可以移动的提要要另作样式
FeedTiBarMOverN:"FeedTitleBarMOverN", //提要标题栏当mouse经过时,不能移动时它的样式
Title:{ Title:"Title",//标题的样式
FeedTitleMouseover:"FeedTitleMouseover"},//提要标题当mouse经过时
CloseButtonMouseOver:"MouseOver"//关闭按钮的mouse经过时的样式
},
EditArea:{//模板的编辑区
FeedEditArea:"FeedEdit", //编辑区样式
FeedEditHeader:"FeedEditHeader", //编辑区弹出时的页眉样式
FeedEditBottom:"FeedEditBottom" //编辑区弹出时的页脚的样子
},
Frame:{
FeedFrame:"FeedFrame"//提要最大框架的样式
},
Content:{
FeedContent:"FeedContent"//提要内容区样式
},
//模板中各样式 G.Style.Feed.TMP.ETMP.ETMP4Btn
TMP:{
//标准内容模板
StanConTMP:{
divBtnF:"divBtnF", //div类型按钮
divBtnClickF:"divBtnClickF",//点击后的样式
divBtnM:"divBtnM", //div类型按钮
divBtnClickM:"divBtnClickM",//点击后的样式
divBtnL:"divBtnL", //div类型按钮
divBtnClickL:"divBtnClickL"//点击后的样式
},
//我的匹配栏目样式
ConTMP1:{
divBtnCommon:"divBtnCommon", //子栏目样式
divBtnClick:"divBtnClick",//子栏目选中的样式
ProDisArea:"ProDisArea"//栏目"我的匹配” 产品装载显示框架的样式
},
//编辑模板
ETMP:{
ETMP4Btn:"ETMP4Btn",//编辑模板4中切换按钮的样式
ETMP4BtnClick:"ETMP4BtnClick"//点击后的样式
}
}
},
//定义菜单所有的样式
Menu:{
//菜单构成时样式
MenuPartFrame:"MenuPartFrame",//一个菜单子项的框架样式
MenuUpStatic:"StaicMenuup",//静态时菜单顶部的样式
MenuIconArea:"MenuIconArea",//菜单图标区域
MenuTitle:"MenuTitle",//菜单标题区样式
MenuTitleForLevel1:"MenuTitleForLevel1",//一级菜单的样式
SubMenuArea:"SubMenuArea",//子菜单容器样式
SubMenuAreaFrame:"SubMenuAreaFrame",//子菜单区域样式
ModuleForbid:"ModuleForbid",//菜单禁用的样式
MenuUpMouseOver:"MenuMouseOver",//菜单上半部分在mouse经过时
//MenuUpArea:"MenuUpArea", //菜单上半部的样式,菜单分二大部分1.上部分(图标区+标题区)2.下半部分(显示子菜单部分)
DesPop:"InfoTooltip"//提示框弹出
},
SimMenu: {
SimMenuFrame:"SimMenuFrame",
MenuPartFrame:"SimMenuPartFrame",//一个菜单子项的框架样式
MenuUpStatic:"SimMenuUpStatic",//静态时菜单顶部的样式
MenuIconArea:"SimMenuIconArea",//菜单图标区域
MenuTitle:"SimMenuTitle",//菜单标题区样式
SubMenuArea:"SimSubMenuArea",//子菜单容器样式
SubMenuAreaFrame:"SimSubMenuAreaFrame"//子菜单区域样式
},
//点击菜单弹出一个有效Feed的样式
PopmessageBox:{
InfoFrame:"InfoFrame", //信息提标框的最外面样式
InfoFeedName:"InfoFeedName",//Feed容器的样式
InfotitleBarFrame:"InfotitleBarFrame",//提标框标题栏的样式
AddToPageFrame:"AddToPageFrame"
},
//各列的样式
Columns:{
ColOne:"left",
ColTwo:"center",
ColThr:"right"
},
LastFrame:{
lastframe:"ajaxarea"
},
//导航菜单样式
Nav:{
NavFrame:"NavFrame",//导航框架,最外面一层
MenuTeam:"MenuTeam",//菜单组框架
TeamSpace:"MenuTeamSpace",//各分组间的分隔线
NavTopFrame:"NavTopFrame"//导航的顶部样式
}
},
//系统在程序中所用图片地址及名称,因为这里的目录结构和未来是不一样的,统一做在这里以后好更换
//G.ActionURL.SaveETMPXMLData
SysPicture:{
MenuIconPath:"images/common/",//菜单小图标路径
MoveUpIcon:"images/common/up.gif", //模块上移图片
MoveDownIcon:"images/common/down.gif", //模块下移图片
CollapseUpIcon:"images/common/+.gif", //标题栏处折叠后图片
CollapseDownIcon:"images/common/shrinkIcon.jpg",//标题栏处折叠前图片
CloseIcon:"images/common/X.gif",//关闭小图标
MenuExpand:"images/common/-.gif" ,//展开时菜单前方图标
MenuCollapse:"images/common/+.gif"//折叠时图标
},
ActionURL: { //
PageDataURL:"http://192.168.1.76/net114/ingress/index.php", //各栏目数据地址,其它各栏目的地址都是以参数的形式传送,其它页面的读取都是从这个入口文件进入
GetData:"GetData",//读取数据专用
SaveData:"SaveData",//保存数据专用
SaveETMPXMLData:"saveEditModData",//用来统一保存编辑模板中的数据
SaveSubFeedXMLData:"saveSubFields",//保存子栏目数据(全部替换操作)
ReadInfoToSC:"loadSelectInfo", //读取信息加载下拉框,格式参照 xml/SelValue/1/1.xml 栏目有:1.我的匹配 2。最新提交品牌
JiansuoGetClassInfo:"getTypeInfo" ,//栏目网站检索 格式参照:XML/SelValue/1/1.xml .参数说明参照“数据交互”
LoadETMPHistoryData:"loadHistoryData",//在编辑模板初始化过程中加载历史数据
PiPeiSaveAndGetClassInfo:"getClass",//栏目我的匹配编辑模板中用于读取用户匹配类目时或提交类目时处理页
TiJaoPingpai:"top.html",//提交品牌的接收页面 运用栏目:我的提交品牌
LoadSimMenu:"",//装载简易菜单
WodePipeiRequestData:"",//我的匹配栏目请求数据地址 使用文件TMP.js行181
/*登录部分url*/
ProSearchKeyword:"searchInfo", //处理搜索关键字部分
SearchTypeDataURL:"XML/SelValue/SearchType/SearchType.xml",//首页搜索类型数据地址
SearchResultPage:"",//搜索结果显示页
RegisterURL:"" ,//用户注册的地址
proLoginURL:"chkLogin" ,//处理登录的页面,并返回一定的值1.验证用户 2.处理用户帐号和密码的邮件发送
IndexPageURL:"",//首页地址
MySetCenterURL:"",//我的配置中心URL
HelpCenterURL:"",//帮助中心地址
LeaveWordInfoURL:""//留言查看页
},
//路径管理
Path:{
//系列模板加载路径,模板只用保存文件名称,
// 在请求时只要加上这个路径就OK. G.TMPPath.EditTMP ConTMP
TMPPath: {
EditTMP:"JS/TMP/EditTMP/",//编辑类型模板
ConTMP:"JS/TMP/ConTMP/" //内容类型模板
},
DUrlPath:"XML/Data/" , //数据路径地址,以后做的页面全放在这个路径下面,在xml配置文件中只需要文件名称即可,还有一种需要全名称地址的,以符号"/"来区别
DXSLPath:"XSL/" //数据模板的地址
},
findPosX: function(obj){
var curleft = 0;
if (obj.offsetParent) {
while (obj.offsetParent) {
curleft += obj.offsetLeft;
obj = obj.offsetParent;
}
} else if (obj.x) curleft += obj.x;
return curleft;
},
findPosY: function(obj){
var curtop = 0;
if (obj.offsetParent) {
while (obj.offsetParent) {
curtop += obj.offsetTop;
obj = obj.offsetParent;
}
} else if (obj.y) curtop += obj.y;
return curtop;
},
/*
取得页面滚动的XY座标值
*/
getScrollXY: function()
{
var scrollY = 0 , scrollX = 0;
if (typeof window.pageYOffset != 'undefined') {
scrollX = window.pageXOffset;
scrollY = window.pageYOffset;
}
else if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat') {
scrollX = document.documentElement.scrollLeft;
scrollY = document.documentElement.scrollTop;
}
else if (typeof document.body != 'undefined') {
scrollX = document.body.scrollLeft;
scrollY = document.body.scrollTop;
}
return {left:scrollX,top:scrollY}
},
//取得浏览器版本
getBrowserType: function()
{
var _platform = null;
if (typeof(navigator) == "undefined")
{
return "not-browser";
}
var ua = navigator.userAgent.toLowerCase();
if (/msie/i.test(ua))
{
if (/msie 6/i.test(ua))
{
_platform = "ie6";
}
else if (/msie 5\.5/i.test(ua))
{
_platform = "ie5.5";
}
else if (/msie 5\.[^5]/i.test(ua))
{
_platform = "ie5";
}
else
{
_platform = "ie";
}
//isIE = true;
}
else if (/gecko/i.test(ua))
{
_platform = "moz";
// isMoz = true;
}
else if (/opera/i.test(ua))
{
_platform = "opera";
// isPoera = true;
}
else
{
_platform = "other";
//isOther = true;
}
return _platform;
},
/*事件处理类,所有相关的方法都要集中到这里
*/
EventUtil: {
/*为控件附加事件方法
oTarget:事件对象
sEventType:事件类型
fnhandler:事件处理器
*/
$ADE: function(oTarget,sEventType,fnHandler){
Event.observe(oTarget,sEventType,fnHandler,false);
},
/*移除控件的事件*/
$RME: function(oTarget,sEventType,fnHandler){
Event.stopObserving(oTarget,sEventType,fnHandler,false)
},
/* 格式化事件,由于事件的属性在DOM和IE中有所区别,这样可以把各属性统一起来
* 使用注意:必须在另一个能获得event对象引用的方法中使用
*/
FormatEvent: function(oEvent){
if(G.Browser.isIE)
{
oEvent.charCode = oEvent.type == "keypress"?oEvent.keyCode:0;
oEvent.eventPhase = 2;//此属性代表事件的阶段:0-捕获阶段,1-在目标上, 2-冒泡阶段
oEvent.isChar = (oEvent.charCode > 0);
oEvent.pageX = oEvent.clientX + document.body.scrollLeft;//shubiao相对于页面的X座标
oEvent.pageY = oEvent.clientY + document.body.scrollTop;
oEvent.preventDefault = function(){
this.returnValue = false;//阻止事件的默认行为.如事件oncontextmenu发生时,不让用户使用上下文菜单
};
if(oEvent.type == "mouseout"){
oEvent.relatedTarget = oEvent.toElement;//表示正在进入的元素
}else if(oEvent.type == "mouseover"){
oEvent.relatedTarget = oEvent.fromElement;//表示所离开的元素
}
oEvent.stopPropagation = function(){
this.cancelBubble = true; //阻止事件的冒泡
};
return oEvent;
}
},
getEvent: function(){
if(window.event){
return this.FormatEvent(window.event);//如果是IE事件则格式化事件
}else{
return G.EventUtil.getEvent.caller.arguments[0];
}
}
},
ProImage:{
//修复图片,增加效果
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -