var lastScript;
var h=document.getElementsByTagName("head")[0];
function loadScript(url){
var f=document.createElement("script");
var d=new Date().getTime();
f.type="text/javascript";
f.id=d;
f.src=url+'&'+d;
h.appendChild(f);
if(lastScript&&g(lastScript))g(lastScript).parentNode.removeChild(g(lastScript));
lastScript=d;
}
//创建一个DIV,ID为IdN
function greatDiv(IdN) {
var str = document.createElement("div");
str.id = IdN;
with(str.style){
position = "absolute";
left = "0px";
top = "0px";
width = "200px";
height = "200px";
zIndex = "1";
visibility= "hidden";
}
document.body.appendChild(str);
document.getElementById(IdN).attachEvent("onmouseover",changeVisDiv);
document.getElementById(IdN).attachEvent("onmouseout",hiddenDiv);
}
function loadDiv(url,obj){
var f=document.createElement("script");
var d=new Date().getTime();
event.cancelBubble = true;
event.returnValue = false;
f.type="text/javascript";
f.id=d;
f.src=url+'&bb='+d;
h.appendChild(f);
//该坐标需要优化
div123456.style.top = document.body.scrollTop+event.clientY + 5 ;
div123456.style.left = document.body.scrollLeft+event.clientX + 5 ;
visDiv = true;
DivVisible();
if(lastScript&&g(lastScript))g(lastScript).parentNode.removeChild(g(lastScript));
lastScript=d;
}
var i = 0;
var visDiv= true;
function hiddenDiv(obj){
if(obj.style=="[object]"){
obj.style.color="";
}
visDiv = true;
setTimeout(DivHidden,1000);
}
//改变是否显示层的状态
function changeVisDiv(){
visDiv = false;
return;
}
//将层隐藏
function DivHidden(){
if (visDiv){
if (div123456.style.visibility=='visible'){
div123456.style.visibility='hidden';
visDiv = false;
}
}
}
//将层显示
function DivVisible(){
if (visDiv){
if (div123456.style.visibility=='hidden'){
div123456.style.visibility='visible';
visDiv = false;
}
}
}
function g(x){return document.getElementById(x)};
var KeyWords = [];
onload=function(){
greatDiv("div123456"); //建立一个展现层
var keyword=new keywords();
keyword.body=document.body; // 要高亮显示关键词的 HTML 元素
keyword.flag=''; // 传递要匹配的关键词, 使用正则匹配.
keyword.func=iLink; // 自定义链接函数, 可选, 参数为 yourfunc(sMatch, sBgCor, sFgCor);
keyword.go(); // 执行本程序
keyword=null;
}
function iLink(sMatch, sBgCor, sFgCor){
for(var i = 0; i < KeyWords.length; i++){
if (KeyWords[i]==sMatch){
return '' + sMatch+'';
}
}
return sMatch;
}
function keywords(){ // shawl.qiu code
this.body=document.body;
this.flag='';
this.func='';
this.iFlag1='@@';
this.iFlag2='##';
this.go=function(){
fGetWord(tl.body);
};
var tl=this;
var tlTemp='';
var strKeyW='';
var intCount=0;
function fGetWord(oEle){
for(var i=0, j=oEle.childNodes.length; i0) {
return mainStr.substring(0,lngLen)
}
else{
return null
}
}
function right(mainStr,lngLen) {
if (mainStr.length-lngLen>=0 && mainStr.length>=0 && mainStr.length-lngLen<=mainStr.length) {
return mainStr.substring(mainStr.length-lngLen,mainStr.length)
}
else{
return null
}
}
function fReturnStr(oNode, sMatch, sBgCor, sFgCor){
if((tl.func==''||oNode.parentNode.nodeName=='A'||oNode.parentNode.innerText.length<40)||(strKeyW.indexOf(sMatch)!=-1)||intCount>=2){
return sMatch;
} else {
strKeyW = strKeyW + '|' + sMatch;
intCount = intCount + 1;
//*********************************
var strKeyWord=tl.flag;
strKeyWord ='|'+strKeyWord+'|';
strKeyWord=strKeyWord.replace('|'+sMatch+'|','|');
strKeyWord=strKeyWord.replace('||','|');
if (left(strKeyWord,1)=='|'){
strKeyWord=right(strKeyWord,(strKeyWord.length-1));
}
if (right(strKeyWord,1)=='|'){
tl.flag=left(strKeyWord,(strKeyWord.length-1));
}else{
tl.flag=strKeyWord;
}
//*********************************
return tl.func(sMatch, sBgCor, sFgCor);
}
} // end function fReturnStr(oNode, sMatch, sBgCor, sFgCor)
// function fRndCor(under, over){
// if(arguments.length==1){
// var over=under;
// under=0;
// }else if(arguments.length==0){
// var under=0;
// var over=255;
// }
// var r=fRandomBy(under, over).toString(16);
// r=fStrPadStr(r, r, 2);
// var g=fRandomBy(under, over).toString(16);
// g=fStrPadStr(g, g, 2);
// var b=fRandomBy(under, over).toString(16);
// b=fStrPadStr(b, b, 2);
// //defaultStatus=r+' '+g+' '+b
// return '#'+(r+g+b).toUpperCase()+';';
// } // shawl.qiu code
function fRandomBy(under, over){
switch(arguments.length){
case 1: return parseInt(Math.random()*under+1);
case 2: return parseInt(Math.random()*(over-under+1) + under);
default: return 0;
}
} // shawl.qiu code
function fStrPadStr(sSrc, sPad, nLen){
if(!sSrc)return false;
if(!sPad)sPad='0';
if(!nLen)nLen=2;
sSrc+='';
if(sSrc.length>=nLen)return sSrc;
sPad=new Array(nLen+1).join(sPad);
var re=new RegExp('.*(.{'+(nLen)+'})$');
return (sPad+sSrc).replace(re,'$1');
}
}