📄 ig_webchart_browser.js
字号:
/*
* Infragistics Web Chart Common Script
* Author: Kamal Verma
* Version 5.1.20051.37
* Last modified: Mon Jul 28 09:57:31 2003
* Copyright(c) 2001-2004 Infragistics, Inc. All Rights Reserved.
* The JavaScript functions in this file are intended for the internal use of the Intragistics Web Controls only.
*/
// Global array to relate Elements with Objects.
var ID2OBJECT = new Array();
// IGBrowser class implements the basic browser independent functionality
function IGBrowser()
{
// Public Properties
this.ScriptVersion ="5.1.20051.37";
this.AgentName =navigator.userAgent.toLowerCase();
this.MajorVersionNumber =parseInt(navigator.appVersion);
this.IsDom =(document.getElementById)?true:false;
this.IsSafari =navigator.userAgent.toLowerCase().indexOf("safari")!=-1;
this.IsNetscape =(document.layers?true:false);
this.IsNetscape4Plus =(this.IsNetscape && this.MajorVersionNumber >=4)?true:false;
this.IsNetscape6 =!this.IsSafari&&(this.IsDom&&navigator.appName=="Netscape");
this.IsOpera =this.AgentName.indexOf('opera')!=-1;
this.IsMac =(this.AgentName.indexOf("mac")!=-1);
this.IsIE =(document.all?true:false);
this.IsIE4 =(document.all&&!this.IsDom)?true:false;
this.IsIE4Plus =(this.IsIE && this.MajorVersionNumber >= 4)?true:false;
this.IsIE5 =(document.all&&this.IsDom)?true:false;
this.IsWin =((this.AgentName.indexOf("win")!=-1) || (this.AgentName.indexOf("16bit")!=-1));
this.ID ="IGB";
//Emulate 'apply' if it doesn't exist.
if ((typeof Function != 'undefined')&&(typeof Function.prototype != 'undefined')&&(typeof Function.apply != 'function'))
{
Function.prototype.apply = function(obj, args)
{
var result, fn = 'ig_apply';
while(typeof obj[fn] != 'undefined') fn += fn;
obj[fn] = this;
var length=(((ig_csom.isArray(args))&&(typeof args == 'object'))?args.length:0);
switch(length)
{
case 0:
result = obj[fn]();
break;
default:
for(var item=0, params=''; item<args.length;item++)
{
if(item!=0) params += ',';
params += 'args[' + item +']';
}
result = eval('obj.'+fn+'('+params+');');
break;
}
this.Dispose(obj[fn]);
return result;
}
}
this.Dispose = function(obj)
{
if (this.IsIE && this.IsWin)
for(var item in obj)
{
if(typeof(obj[item])!="undefined" && obj[item]!=null && !obj[item].tagName && !obj[item].disposing && typeof(obj[item])!="string")
{
try
{
obj[item].disposing=true;
ig_dispose(obj[item]);
}
catch(e1) {;}
}
try{delete obj[item];}catch(e2){;}
}
}
this.GetObject = function(id, doc)
{
var i,x;
if (!doc) doc=document;
if (!(x=doc[id])&&doc.all) x=doc.all[id];
//for(i=0;!x&&i<doc.forms.length;i++) x=doc.forms[i][id];
//for(i=0;!x&&doc.layers&&i<doc.layers.length;i++) x=this.GetObject(id,doc.layers[i].document);
if (!x && document.getElementById) x=document.getElementById(id);
return x;
}
this.GetHeight = function(obj)
{
var h=0;
if (this.IsNetscape)
{
h=(obj.height)? obj.height:obj.clip.height;
return h;
}
h=(this.IsOpera)? obj.style.pixelHeight:obj.offsetHeight;
return h;
}
this.SetHeight = function(obj,h)
{
if (this.IsNetscape)
{
if (obj.clip) obj.clip.bottom=h;
} else if (this.IsOpera) obj.style.pixelHeight=h;
else obj.style.height=h;
}
this.GetWidth = function(obj)
{
var w=0;
if (this.IsNetscape)
{
w=(obj.width)? obj.width:obj.clip.width;
return w;
}
w=(this.IsOpera)? obj.style.pixelWidth:obj.offsetWidth;
return w;
}
this.SetWidth = function(obj,w)
{
if (this.IsNetscape)
{
if (obj.clip) obj.clip.right=w;
}else if (this.IsOpera)obj.style.pixelWidth=w;
else obj.style.width=w;
}
this.GetX = function(obj)
{
var x=(this.IsNetscape)? obj.left:(this.IsOpera)? obj.style.pixelLeft:obj.offsetLeft;
return x;
}
this.SetX = function(obj, x)
{
(this.IsNetscape)? obj.left=x:(this.IsOpera)? obj.style.pixelLeft=x:obj.style.left=x;
}
this.GetY = function(obj)
{
var y=(this.IsNetscape)? obj.top:(this.IsOpera)? obj.style.pixelTop:obj.offsetTop;
return y;
}
this.SetY = function(obj, y)
{
(this.IsIE||this.IsDom)? obj.style.top=y:(this.IsNetscape)? obj.top=y:obj.style.pixelTop=y;
}
this.GetPageX = function(obj)
{
if (this.IsNetscape)
{
var x=(obj.pageX)? obj.pageX:obj.x; return x;
} else if (this.IsOpera)
{
var x=0;
while(eval(obj))
{
x+=obj.style.pixelLeft;
obj=obj.offsetParent;
}
return x;
}
else
{
var x=0;
while(eval(obj))
{
x+=obj.offsetLeft;
obj=obj.offsetParent;
}
return x;
}
}
this.GetPageY = function(obj)
{
if (this.IsNetscape)
{
var y=(obj.pageY)? obj.pageY:obj.y;
return y;
}
else if (this.IsOpera)
{
var y=0;
while(eval(obj))
{
y+=obj.style.pixelTop;
obj=obj.offsetParent;
}
return y;
}
else
{
var y=0;
while(eval(obj))
{
y+=obj.offsetTop;
obj=obj.offsetParent;
}
return y;
}
}
this.SetPos = function(obj,x,y)
{
this.SetX(obj,parseInt(x));
this.SetY(obj,parseInt(y));
}
this.SetPosRelative = function(obj,x,y)
{
this.SetX(obj,parseInt(this.GetPageX(obj))+parseInt(x));
this.SetY(obj,parseInt(this.GetPageY(obj))+parseInt(y));
}
this.SetZValue = function(obj,z)
{
if (this.IsNetscape)obj.zIndex=z;
else obj.style.zIndex=z;
}
this.ShowObject = function(obj,disp)
{
(this.IsNetscape)? '':(!disp)? obj.style.display="inline":obj.style.display=disp;
(this.IsNetscape)? obj.visibility='show':obj.style.visibility='visible';
}
this.HideObject = function(obj,disp)
{
(this.IsNetscape)? '':(arguments.length!=2)? obj.style.display="none":obj.style.display=disp;
(this.IsNetscape)? obj.visibility='hide':obj.style.visibility='hidden';
}
this.SetStyle = function(obj,s,v)
{
if (this.IsIE5||this.IsDom) eval("obj.style."+s+" = '" + v +"'");
}
this.GetStyle = function(obj,s)
{
if (this.IsIE5||this.IsDom) return eval("obj.style."+s);
}
this.AddEventListener = function (o,e,f,c)
{
if(o.addEventListener)o.addEventListener(e,f,c);
else if(o.attachEvent)o.attachEvent("on"+e,f);else eval("o.on"+e+"="+f)
}
this.AddEventListener = function(obj,eventName,callbackFunction,flag)
{
if (obj.addEventListener)
{
obj.addEventListener(eventName,callbackFunction,flag);
}
else if (obj.attachEvent)
{
obj.attachEvent("on"+eventName,callbackFunction);
}
else
{
eval("obj.on"+eventName+"="+callbackFunction);
}
}
this.WriteHTML = function(obj,html)
{
if (this.IsNetscape)
{
var doc=obj.document;
doc.write(html);
doc.close();
return false;
}
if (obj.innerHTML) obj.innerHTML=html;
}
// region WBC 494
this.SetXClientOverflowSafe=function(obj, x)
{
var objW = IGB.GetWidth(obj);
var objR = objW + x;
var clientW = IGB.GetClientWidth();
if ( (clientW - objR ) > (x-objW-5) )
//if (objR <= clientW || (x-objW-5<0) )
this.SetX(obj, x);
else
this.SetXScrollContainerSafe(obj, x - objW - 5);
// this.SetXScrollContainerSafe(obj, x - (objR - clientW) - 25);
}
this.SetXOverflowSafe=function(obj, x, container)
{
var objR = IGB.GetWidth(obj) + x;
var containerW = IGB.GetWidth(container);
if (objR <= containerW)
this.SetXScrollContainerSafe(obj, x);
else
this.SetXScrollContainerSafe(obj, x - (objR - containerW));
}
this.SetYClientOverflowSafe=function(obj, y)
{
var objH = IGB.GetHeight(obj);
var objT = objH + y + 23; // plus 23, as 20 offset was already added to y
var clientH = IGB.GetClientHeight();
if ( (clientH - objT ) > (y-objH-25) )
//if (objT <= clientH)
this.SetYScrollContainerSafe(obj, y);
else
this.SetYScrollContainerSafe(obj, y - objH - 25 );
// this.SetYScrollContainerSafe(obj, y - (objT - clientH) );
}
this.SetYOverflowSafe=function(obj, y, container)
{
var objT = IGB.GetHeight(obj) + y;
var containerH = IGB.GetHeight(container);
if (objT <= containerH)
this.SetYScrollContainerSafe(obj, y);
else
this.SetYScrollContainerSafe(obj, y - (objT - containerH));
}
this.GetClientWidth = function()
{
var w=(this.IsIE)? window.document.body.clientWidth:window.innerWidth;
return w;
}
this.GetClientHeight = function()
{
var w=(this.IsIE)? window.document.body.clientHeight:window.innerHeight;
return w;
}
// end region
// region WBC202
this.SetXScrollContainerSafe = function(obj, x)
{
var hSC = this.GetHScrolledContainer(obj);
if (hSC != null)
this.SetXScrollContainerAdjusted(obj, x, hSC);
else
this.SetX(obj, x);
}
this.SetYScrollContainerSafe = function(obj, y)
{
var vSC = this.GetVScrolledContainer(obj);
if (vSC != null)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -