imfunction_utf8.js
来自「这篇文章主要用来说明获取设备表述的情况,希望大家可以得到帮助」· JavaScript 代码 · 共 1,274 行 · 第 1/5 页
JS
1,274 行
_p.viewRect = {
x:0,
y:0,
w:0,
h:0,
get: function(el, isupdate){
el = typeof(el)=='string' ? this.getEl(el) : el;
if( !el || el==window || el==document ){
if (!!isupdate || !this.w)
this._getViewPortRect();/*重新获取窗口参数*/
return {x:this.x, y:this.y, w:this.w, h:this.h};
}
else{
if( (document.compatMode=="BackCompat" && im_wdkUtil.Browser.msie) ||
(document.compatMode=="CSS1Compat" && im_wdkUtil.Browser.msie56)
){
return {x:this.getX(el), y:this.getY(el),w:this.getW(el), h:this.getH(el)};
}else{
this._getViewPortRect();
var _x = this.getX(el) + this.x;
var _y = this.getY(el) + this.y;
return {x:_x, y:_y,w:this.getW(el), h:this.getH(el)};
}
}
},
_getViewPortRect: function(obj){
this.x = window.pageXOffset ? window.pageXOffset :
(document.documentElement&&document.documentElement.scrollLeft ? document.documentElement.scrollLeft :
(document.body ? document.body.scrollLeft : 0) );
this.y = window.pageYOffset ? window.pageYOffset :
(document.documentElement&&document.documentElement.scrollTop ? document.documentElement.scrollTop :
(document.body ? document.body.scrollTop : 0) );
this.w = window.innerWidth ? window.innerWidth :
(document.documentElement&&document.documentElement.clientWidth ? document.documentElement.clientWidth :
(document.body ? document.body.clientWidth : 0) );
this.h = window.innerHeight ? window.innerHeight :
(document.documentElement&&document.documentElement.clientHeight ? document.documentElement.clientHeight :
(document.body ? document.body.clientHeight : 0) );
},
getX:function(e){
elm = typeof(e)=='string' ? this.getEl(e) : e;
var offset=elm.offsetLeft;
if(elm.offsetParent!=null) offset+=this.getX(elm.offsetParent);
return offset;
},
getY:function(e){
elm = typeof(e)=='string' ? this.getEl(e) : e;
var offset=elm.offsetTop;
if(elm.offsetParent!=null) offset+=this.getY(elm.offsetParent);
return offset;
},
getW:function(el){
return(el ? (el.offsetWidth || (el.style ? el.style.pixelWidth : 0) || 0) : 0);
},
getH:function(el){
return(el ? (el.offsetHeight || (el.style ? el.style.pixelHeight: 0) || 0) : 0);
},
getEl:function(el){
return(document.getElementById ? document.getElementById(el)
: document.all ? document.all[el]
: null);
}
};
_p.createScript = function(scriptSrc){
var im_head = document.getElementsByTagName("HEAD")[0];
if(document.readyState!="complete" && im_wdkUtil.Browser.msie){
window.setTimeout(function(){im_wdkUtil.createScript(scriptSrc);}, 1000);return;
}else{
var script = window.document.createElement("script");
im_head.appendChild(script);
script.type = "text/javascript";
script.language = "javascript";
script.src = scriptSrc;
script.charset = "utf-8";
}
return true;
};
_p.createCSS = function(cssFile){
var im_head = document.getElementsByTagName("HEAD")[0];
var cssLink = document.createElement("link");
im_head.appendChild(cssLink);
cssLink.type= 'text/css';
cssLink.rel = 'stylesheet';
cssLink.href= cssFile;
}
_p.createDom = function(elDom, toElement){//elDom={name:"DIV"[,id:"",style:"",_class:"",title:"",click:"",mouseover:"",mouseout:""]}
toElement = toElement ? toElement
: document.getElementsByTagName ? document.getElementsByTagName("body")[0]
: (document.body || null);
if(typeof toElement.innerHTML != "undefined" && document.createElement && toElement.appendChild){
if(/text/g.test(elDom.name.toLowerCase())){
var _El = document.createTextNode(elDom.text);
}else{
var _El = document.createElement(elDom.name);
for(var k in elDom){
if(elDom[k]){
if(k=="className") _El.setAttribute("class", elDom[k]);
else _El.setAttribute(k, elDom[k]);
}
}
}
toElement.appendChild(_El);
return _El;
}else{
toElement.innerHTML += '<' + elDom.name + (elDom.id ? ' id="' + elDom.id + '"' : '') + (elDom._class ? ' class="' + elDom._class + '"' : '') + (elDom.title ? ' title="' + elDom.title + '"' : '') + (elDom.style ? ' style="' + elDom.style + '"' : '') + (elDom.click ? ' onclick="' + elDom.click + '"' : '') + (elDom.mouseover ? ' onmouseover="' + elDom.mouseover + '"' : '') + (elDom.mouseout ? ' onmouseout="' + elDom.mouseout + '"' : '') + '></'+elDom.name+'>';
var _childNodes = toElement.getElementsByTagName(elDom.name);
return _childNodes[(_childNodes.length-1)];
}
}
_p.insertHtml = function(where, el, html){
where = where.toLowerCase();
if(el.insertAdjacentHTML){
switch(where){
case "beforebegin":
el.insertAdjacentHTML('BeforeBegin', html);
return el.previousSibling;
case "afterbegin":
el.insertAdjacentHTML('AfterBegin', html);
return el.firstChild;
case "beforeend":
el.insertAdjacentHTML('BeforeEnd', html);
return el.lastChild;
case "afterend":
el.insertAdjacentHTML('AfterEnd', html);
return el.nextSibling;
}
}
var range = el.ownerDocument.createRange();
var frag;
switch(where){
case "beforebegin":
range.setStartBefore(el);
frag = range.createContextualFragment(html);
el.parentNode.insertBefore(frag, el);
return el.previousSibling;
case "afterbegin":
if(el.firstChild){
range.setStartBefore(el.firstChild);
frag = range.createContextualFragment(html);
el.insertBefore(frag, el.firstChild);
return el.firstChild;
}else{
el.innerHTML = html;
return el.firstChild;
}
case "beforeend":
if(el.lastChild){
range.setStartAfter(el.lastChild);
frag = range.createContextualFragment(html);
el.appendChild(frag);
return el.lastChild;
}else{
el.innerHTML = html;
return el.lastChild;
}
case "afterend":
range.setStartAfter(el);
frag = range.createContextualFragment(html);
el.parentNode.insertBefore(frag, el.nextSibling);
return el.nextSibling;
}
}
_p.removeChildNodes = function(el, childNodetagName){
if(!el) return;
var Nodes = childNodetagName ? el.getElementsByTagName(childNodetagName) : el.childNodes;
for(var i=0; i<Nodes.length;i++){
var a = Nodes[i].attributes;
for(var id in a){
if(typeof(a[id])=="function"){
if(im_wdkUtil.Browser.msie)
eval("el."+id+"=null");
else
el.removeAttribute(id);
}
}
this.removeChildNodes(Nodes[i], childNodetagName);
el.removeChild(Nodes[i]);
}
}
_p.cutText = function(str, len){
var l = len*2; var t = 0, tl = 0, ol = 0;
for(var i=0;i<l;i++){
if(str.charCodeAt(i)>255) t += 2;
else tl += 1;
ol += 1;
if(t + tl == l){return (str.substring(0,ol));break;}
if(t + tl > l){return (str.substring(0,ol - 1) + " "); break;}
}
}
_p.lenText = function(str){
var t = 0;
for(var i=0;i<str.length;i++){
if(str.charCodeAt(i)>255) t += 2;
else t += 1;
}
return t;
}
_p.disposeFlashObj = function(flashObj){
//把 flash 暴露给 js 的所有方法清空
if(!flashObj)
return;
for(var id in flashObj){
if(typeof(flashObj[id]) == "function"){
if(im_wdkUtil.Browser.msie)
eval("flashObj."+id+"=null");//清除DOM对象上面绑定的脚本对象
else
flashObj.removeAttribute(id);
}
}
};
/*---class WdkUtil end---*/
im_initim();
im_initPopMenu();
//为CSDN专用接口函数
function im_csdnInit(){
im_global.variable.siteid = "csdn";
im_getIMOnlineStatus(im_global.variable.siteid);
//im_wdkUtil.SetCookie("UserName", "lzp");
//im_wdkUtil.SetCookie("_user_sid", "dsf231233122f");
//im_wdkUtil.DelCookie("UserName");
var userid = im_wdkUtil.GetCookie("UserName");
if(!userid || userid.length==0)
return;
var username = userid;
var sid = im_wdkUtil.GetCookie("_user_sid");
im_runPresence("csdn", im_global.variable.siteid, userid, username, sid, "", "", "");
}
/*------interface-------*/
function im_getIMOnlineStatus(siteid, webchaturl, onlineuserurl){
var _siteid = siteid;
im_global.variable.siteid = siteid;
im_global.variable.webchatURL = webchaturl;
im_global.variable.onlineuserURL = onlineuserurl;
if(_siteid=="tianya" || _siteid=="tianya_v2"){
im_global.cache.source += "tianya/";
im_global.cache.init();
im_global.cfg.chatWidth = 472;
im_global.cfg.chatHeight = 452;
im_global.cfg.IMWidth = 218;
im_global.cfg.IMHeight = 490;
im_global.win.fonttext = "天涯聊聊";
im_global.win.fontcolor = "#FFFFFF";
im_global.win.tbfontcolor = "#004499";
}
else if(_siteid=="cnmyspace"){
im_global.cache.source += "cnmyspace/";
im_global.cache.init();
im_global.cfg.chatWidth = 472;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?