常用的一些javascript小技巧,三【方正平台】

//无模式的提示框

function modelessAlert(Msg)

{

window.showModelessDialog("javascript:alert(\""+escape(Msg)+"\");window.close();","","status:no;resizable:no;help:no;dialogHeight:height:30px;dialogHeight:40px;");

}

//访问剪贴板 (1)拖拽访问

event.dataTransfer.setData("URL", oImage.src);

sImageURL = event.dataTransfer.getData("URL");

(2)普通访问

window.clipboardData.setData("Text",oSource.innerText);

window.clipboardData.getData("Text"); //操作COOKIE function SetCookie(sName, sValue)

{

document.cookie = sName + "=" + escape(sValue) + "; ";

}

function GetCookie(sName)

{

var aCookie = document.cookie.split("; ");

for (var i=0; i < aCookie.length; i++)

{

var aCrumb = aCookie[i].split("=");

if (sName == aCrumb[0])

return unescape(aCrumb[1]);

}

}

function DelCookie(sName)

{

document.cookie = sName + "=" + escape(sValue) + "; expires=Fri, 31 Dec 1999 23:59:59 GMT;";

}

//自定义的apply,call

Function.prototype.apply = function (obj, argu) {

if (obj) obj.constructor.prototype._caller = this;

var argus = new Array();

for (var i=0;i<argu.length;i++)

argus[i] = "argu[" + i + "]";

var r;

eval("r = " + (obj ? ("obj._caller(" + argus.join(",") + ");") : ("this(" + argus.join(",") + ");")));

return r;

};

Function.prototype.call = function (obj) {

var argu = new Array();

for (var i=1;i<arguments.length;i++)

argu[i-1] = arguments[i];

return this.apply(obj, argu);

};

//下载文件

function DownURL(strRemoteURL,strLocalURL)

{

try

{

var xmlHTTP=new ActiveXObject("Microsoft.XMLHTTP");

xmlHTTP.open("Get",strRemoteURL,false);

xmlHTTP.send();

var adodbStream=new ActiveXObject("ADODB.Stream");

adodbStream.Type=1;//1=adTypeBinary

adodbStream.Open();

adodbStream.write(xmlHTTP.responseBody);

adodbStream.SaveToFile(strLocalURL,2);

adodbStream.Close();

adodbStream=null;

xmlHTTP=null;

}

catch(e)

{

window.confirm("下载URL出错!");

}

//window.confirm("下载完成.");

}

//检验连接是否有效

function getXML(URL)

{

var xmlhttp = new ActiveXObject("microsoft.xmlhttp");

xmlhttp.Open("GET",URL, false);

try

{

xmlhttp.Send();

}

catch(e){}

finally

{

var result = xmlhttp.responseText;

if(result)

{

if(xmlhttp.Status==200)

{

return(true);

}

else

{

return(false);

}

}

else

{

return(false);

}

}

}

//readyState是xmlhttp返回数据的进度,0=载入中,1=未初始化,2=已载入,3=运行中,4=完成

//组件是否安装

isComponentInstalled("{6B053A4B-A7EC-4D3D-4567-B8FF8A1A5739}", "componentID"))

//检查网页是否存在 function CheckURL(URL)

{

var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

xmlhttp.Open("GET",URL, false);

try

{

xmlhttp.Send();

var result = xmlhttp.status;

}

catch(e) {return(false); }

if(result==200)

{

return true;

}

xmlhttp = null;

return false;

} //设置光标位置 function getCaret(textbox)

{

var control = document.activeElement;

textbox.focus();

var rang = document.selection.createRange();

rang.setEndPoint("StartToStart",textbox.createTextRange())

control.focus();

return rang.text.length;

}

function setCaret(textbox,pos)

{

try

{

var r =textbox.createTextRange();

r.moveStart('character',pos);

r.collapse(true);

r.select();

}

catch(e)

{}

}

function selectLength(textbox,start,len)

{

try

{

var r =textbox.createTextRange();

r.moveEnd('character',len-(textbox.value.length-start));

r.moveStart('character',start);

r.select();

}

catch(e)

{//alert(e.description)}

}

function insertAtCaret(textbox,text)

{

textbox.focus();

document.selection.createRange().text = text;

}