Google
      
发新话题
打印

用JScript实现网页字体的自动选择

用JScript实现网页字体的自动选择

<%@ Language=JScript %>
<html>
<head>
<meta http-equiv="Content-Type" c>
<meta http-equiv="Content-Language" c>
<meta name="Author" c>
<title>自动选择字体脚本测试页</title>
<script language="JScript" runAt="Server"> /*如果要在客户端HTML(即普通HTML文件)中使用本函数,请将"language"设置为"JavaScript",将"runAt="Server""去掉*/
function cWrite(strPut){ /*自动选择字体函数*/
var strInput,intLength,blnTagClosed,blnHtmlTags,strWrite,
chrAti,argv,argcstrClass;
strInput=''+strPut;
intLength=strInput.length;
blnTagClosed=true;
blnHtmlTags=false;
strWrite='';
argv=cWrite.arguments;
argc=argv.length;
strClass=(argc>1)?argv[1]:'en'; /*如果不带参数,那么默认的英文样式为本页CSS样式定义的"en"。CSS样式表的定义可参考下文的代码。*/
if(strPut==null) return strWrite; /*如果输入字符串为“空”则返回空值*/
for(var i=0;i<intLength;i++){
chrAti=strInput.charAt(i);
if(chrAti=='<') blnHtmlTags=true; /*HTML标记开始*/
           欢迎下载。。。。。。。。。。。
if(strInput.charAt(i-1)=='>') blnHtmlTags=false; /*结束HTML标记*/
if(chrAti!=' '){
if(ifWesternChr(chrAti) && !blnHtmlTags){ //如果是西文字符并且不是HTML标签
if(blnTagClosed){ /*如果<font>……</font>容器标签已经完整*/
strWrite+='<font class="'+strClass+'">'+chrAti;
blnTagClosed=false;
}
else if(!blnTagClosed) strWrite+=chrAti;
}
else{
if(!blnTagClosed){
strWrite+='</font>'+chrAti;
blnTagClosed=true; //将容器标签置为“已关闭”
}
else if(blnTagClosed) strWrite+=chrAti;
}
}
else strWrite+=chrAti;
}
if(!blnTagClosed) strWrite+='</font>'
return strWrite;
}
function ifWesternChr(chrInput){ /*判断当前字符是西文字符还是中文字符的函数*/
var chrInput_e;
chrInput_e=escape(chrInput);
if(chrInput_e.length==(chrInput.length)*6 || chrInput=='\r' || chrInput=='\n') return false; /*只有汉字经过编码之后的长度才会等于原长度的6倍,所以用这种方法可以避开内码直接判断当前字符是否为中文。*/
else return true;
}
</script>
<style><!-- 以下CSS样式仅作参考;注意:“en”是默认的英文字体样式类。
body{ color: #000080; font-family: 宋体; font-size: 12pt }
.en { color: #ff0000; font-family: "Times New Roman"; font-weight: bold; font-style: italic; font-size: 12pt }
--></style></head>
<body bgcolor="#FFFFFF">
<!-- 可以参考下面的方式调用上边编写的函数。在HTML文件中引用主意将本例中所有的ASP函数、对象替换为相应的客户端脚本的形式,如"Response.Write"应该替换为"document.write" -->
<%
Response.Write cWrite("在本测试页中,所有半角字符的字体都被设置为“Times New Roman”,并以红色粗斜体显示。如:“Computer”、“World Wide Web”等等,“?”是英文问号,“,”是英文逗号,“1234567890”为本字体的数字显示样式。这样看起来中文省略号“…”与英文省略号“...”确实不同。中:本测试正确吗?En:Is this test correct?","en")
%>
</body>
</html>
欢迎你到我的博客.QQ:591060323   格言:看天下美女都是情人!
点击即可链接,进入青春大哥博客

TOP

if(strInput.charAt(i-1)=='>') blnHtmlTags=false; /*结束HTML标记*/
if(chrAti!=' '){
if(ifWesternChr(chrAti) && !blnHtmlTags){ //如果是西文字符并且不是HTML标签
if(blnTagClosed){ /*如果<font>……</font>容器标签已经完整*/
strWrite+='<font class="'+strClass+'">'+chrAti;
blnTagClosed=false;
}
else if(!blnTagClosed) strWrite+=chrAti;
}

TOP

发新话题