【www.gdgbn.com--Dom教程】
网页特效网页简体与繁体转换算法
var defaultencoding = 2; // 1:
var translatedelay = 0;
var cookiedomain = "http://www.111cn.net"; //更改为你的博客网址
var msgtotraditionalchinese = "繁体"; //此处可以更改为你想要显示的文字
var msgtosimplifiedchinese = "简体"; //同上,但两处均不建议更改
var translatebuttonid = "translatelink";var currentencoding = defaultencoding;
var targetencodingcookie = "targetencoding" + cookiedomain.replace(/./g,"");
var targetencoding = ( getcookie(targetencodingcookie) == null ? defaultencoding : getcookie(targetencodingcookie) );
var translatebuttonobject;function translatetext( txt )
{
if( txt == "" || txt == null )
return "";
if( currentencoding == 1 && targetencoding == 2 )
return simplized(txt);
else if ( currentencoding == 2 && targetencoding == 1 )
return traditionalized(txt);
else
return txt;
}function translatebody( fobj )
{
if( typeof( fobj ) == "object" )
var objs = fobj.childnodes;
else
var objs = document.body.childnodes;for(var i=0;i
{
var obj=objs.item(i);
if( obj.tagname == "object" )
continue;
if( "||br|hr|textarea|".indexof( "|"+obj.tagname+"|" ) > 0 || obj == translatebuttonobject )
continue;
if( obj.title != "" && obj.title != null )
obj.title = translatetext( obj.title );
if( obj.alt != "" && obj.alt != null )
obj.alt = translatetext( obj.alt );
if( obj.tagname == "input" && obj.value != "" && obj.type != "text" && obj.type != "hidden" )
obj.value = translatetext( obj.value );
if( obj.nodetype == 3 )
obj.data = translatetext( obj.data );
else
translatebody(obj);
}
}function translatepage()
{
if( targetencoding == 1 )
{
currentencoding = 1;
targetencoding = 2;
translatebuttonobject.innerhtml = msgtotraditionalchinese;
setcookie( targetencodingcookie, targetencoding, 7 );
translatebody();
}
else if( targetencoding == 2 )
{
currentencoding = 2;
targetencoding = 1;
translatebuttonobject.innerhtml = msgtosimplifiedchinese;
setcookie( targetencodingcookie, targetencoding, 7 );
translatebody();
}
}function jtpystr()
{
return "简体";
}function ftpystr()
{
return "繁体";
}function traditionalized( cc )
{
var str = "";
var ss = jtpystr();
var tt = ftpystr();for(var i = 0 ; i < cc.length ; i++ )
{
if( cc.charcodeat(i) > 10000 && ss.indexof( cc.charat(i) ) != -1 )
str += tt.charat( ss.indexof( cc.charat(i) ) );
else
str += cc.charat(i);
}
return str;
}function simplized(cc){
var str = "";
var ss = jtpystr();
var tt = ftpystr();for( var i=0 ; i < cc.length ; i++)
{
if( cc.charcodeat(i) > 10000 && tt.indexof( cc.charat(i) ) != -1 )
str += ss.charat( tt.indexof( cc.charat(i) ) );
else
str += cc.charat(i);
}
return str;
}function setcookie(name,value,days)
{
if (days)
{
var date = new date();
date.settime(date.gettime()+(days*24*60*60*1000));
var expires = "; expires="+date.togmtstring();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}function getcookie(name)
{
var nameeq = name + "=";
var ca = document.cookie.split(";");
for(var i=0;i < ca.length;i++)
{
var c = ca[i];
while (c.charat(0)==" ") c = c.substring(1,c.length);
if (c.indexof(nameeq) == 0) return c.substring(nameeq.length,c.length);
}
return null;
}function translateinitilization()
{
translatebuttonobject = document.getelementbyid( translatebuttonid );
if ( translatebuttonobject )
{
with( translatebuttonobject )
{
if(typeof(document.all)!="object")
{
href="javascript:translatepage();";
}
else
{
href="#";
onclick = new function( "translatepage(); return false;");
}
}
if ( currentencoding != targetencoding )
{
settimeout("translatebody()",translatedelay);
if( targetencoding == 1 )
translatebuttonobject.innerhtml = msgtosimplifiedchinese;
else
translatebuttonobject.innerhtml = msgtotraditionalchinese;
}
}
}调用方法
<script type="text/javascript">var defaultencoding = 0; //默认是否繁体,0-简体,1-繁体
var translatedelay = 0; //延迟时间,若不在网页最后运行,要设定延迟翻译时间,如100表示100ms
var cookiedomain = "http://www.111cn.net"; //cookie地址,一定要设定,通常为你的网址
var msgtotraditionalchinese = "简体->繁体"; //默认切换为繁体时显示的中文字符
var msgtosimplifiedchinese = "繁体->简体"; //默认切换为简体时显示的中文字符
var translatebuttonid = "translatelink"; //默认互换id
translateinitilization();
</script>