浏览模式: 标准 | 列表分类:网页|前台相关

关于text-overflow

首先我们来看看text-overflow的语法:

代码:
语法:

text-overflow : clip | ellipsis

参数:

clip :  不显示省略标记(...),而是简单的裁切
ellipsis :  当对象内文本溢出时显示省略标记(...)

说明:

设置或检索是否使用一个省略标记(...)标示对象内文本的溢出。
对应的脚本特性为textOverflow。请参阅我编写的其他书目。

示例:

div { text-overflow : clip; }


我不知道为什么text-overflow一直是一个不常用的样式,其实它完全可以代替我们通常所用的标题截取函数,而且这样做对搜索引擎更加友好,具体的实现如下:

代码:
<style>
.title_list a {
  width:200px;
  font-size:12px;
  text-decoration:none;
  line-height:24px;
  white-space:nowrap;
  text-overflow:ellipsis;
  overflow:hidden;
}
</style>
<ul class="title_list">
<li><a href="#">环法官员斥责肮脏可耻行为</a></li>
<li><a href="#">钢巴借主场之利信心十足 实德欲更进一步捧杯而归</a></li>
<li><a href="#">中锋时代在梦之队没落 梦系列风光不再症结所在</a></li>
</ul>


[html]<style>
.title_list a {
width:200px;
font-size:12px;
text-decoration:none;
line-height:24px;
white-space:nowrap;
text-overflow:ellipsis;
overflow:hidden;
}
</style>
<ul class="title_list">
<li><a href="#">环法官员斥责肮脏可耻行为</a></li>
<li><a href="#">钢巴借主场之利信心十足 实德欲更进一步捧杯而归</a></li>
<li><a href="#">中锋时代在梦之队没落 梦系列风光不再症结所在</a></li>
</ul>[/html]

Tags: css

AJAX 涉及到的技术

AJAX 涉及到的几项技术: Javascript、XMLHttpRequest、DOM、XML.

1、XMLHttpRequest对象  

    XMLHttpRequest 是XMLHTTP 组件的对象,通过这个对象,AJAX 可以像桌面应用程
序一样只同服务器进行数据层面的交换,而不用每次都刷新界面,也不用每次将数据处理的
工作都交给服务器来做;这样既减轻了服务器负担又加快了响应速度、缩短了用户等待的时
间。
    IE5.0 开始,开发人员可以在Web 页面内部使用XMLHTTP ActiveX 组件扩展自身的功
能,不用从当前的 Web 页面导航就可以直接传输数据到服务器或者从服务器接收数
据。,Mozilla1.0 以及NetScape7 则是创建继承XML 的代理类XMLHttpRequest;对于大多数
情况,XMLHttpRequest 对象和XMLHTTP 组件很相似,方法和属性类似,只是部分属性不
同。


    XMLHttpRequest 对象初始化:
    <script language=”javascript”>
    var http_request = false;
    //IE 浏览器
    http_request = new ActiveXObject("Msxml2.XMLHTTP");
    http_request = new ActiveXObject("Microsoft.XMLHTTP");
    //Mozilla 浏览器
    http_request = new XMLHttpRequest();
    </script>

XMLHttpRequest 对象的方法:

abort()//停止当前请求
你可以使用这个abort()方法来暂停与一个XMLHttpRequest对象相联系的HTTP请求,从而把该对象复位到未初始化状态。


getAllResponseHeaders() //作为字符串返问完整的 headers
该getAllResponseHeaders()方法以一个字符串形式返回所有的响应头部(每一个头部占单独的一行)。如果readyState的值不是3或4,则该方法返回null。

getResponseHeader("headerLabel") //作为字符串返问单个的 header 标签
getResponseHeader(DOMString header,value)方法用于检索响应的头部值。仅当readyState值是3或4(换句话说,在响应头部可用以后)时,才可以调用这个方法;否则,该方法返回一个空字符串

open("method","URL"[,asyncFlag[,"userName"[, "password"]]])
你需要调用open(DOMString method,DOMString url,boolean async,DOMString username,DOMString password)方法初始化一个XMLHttpRequest对象。其中,method参数是必须提供的-用于指定你想用来发送请求的HTTP方法(GET,POST,PUT,Del&#101;te或HEAD)。为了把数据发送到服务器,应该使用POST方法;为了从服务器端检索数据,应该使用GET方法。另外,url参数用于指定XMLHttpRequest对象把请求发送到的服务器相应的URI。借助于window.document.baseURI属性,该url被解析为一个绝对的URL-换句话说,你可以使用相对的URL-它将使用与浏览器解析相对的URL一样的方式被解析。async参数指定是否请求是异步的-缺省值为true。为了发送一个同步请求,需要把这个参数设置为false。对于要求认证的服务器,你可以提供可选的用户名和口令参数。在调用open()方法后,XMLHttpRequest对象把它的readyState属性设置为1(打开)并且把responseText、responseXML、status和statusText属性复位到它们的初始值。另外,它还复位请求头部。注意,如果你调用open()方法并且此时readyState为4,则XMLHttpRequest对象将复位这些值。

send(content) // 发送请求
在通过调用open()方法准备好一个请求之后,你需要把该请求发送到服务器。仅当readyState值为1时,你才可以调用send()方法;否则的话,XMLHttpRequest对象将引发一个异常。该请求被使用提供给open()方法的参数发送到服务器。当async参数为true时,send()方法立即返回,从而允许其它客户端脚本处理继续。在调用send()方法后,XMLHttpRequest对象把readyState的值设置为2(发送)。当服务器响应时,在接收消息体之前,如果存在任何消息体的话,XMLHttpRequest对象将把readyState设置为3(正在接收中)。当请求完成加载时,它把readyState设置为4(已加载)。对于一个HEAD类型的请求,它将在把readyState值设置为3后再立即把它设置为4。
  send()方法使用一个可选的参数-该参数可以包含可变类型的数据。典型地,你使用它并通过POST方法把数据发送到服务器。另外,你可以显式地使用null参数调用send()方法,这与不用参数调用它一样。对于大多数其它的数据类型,在调用send()方法之前,应该使用setRequestHeader()方法(见后面的解释)先设置Content-Type头部。如果在send(data)方法中的data参数的类型为DOMString,那么,数据将被编码为UTF-8。如果数据是Document类型,那么将使用由data.xmlEncoding指定的编码串行化该数据。

setRequestHeader("label", "value")//设置header  并和请求一起发送
该setRequestHeader(DOMString header,DOMString value)方法用来设置请求的头部信息。当readyState值为1时,你可以在调用open()方法后调用这个方法;否则,你将得到一个异常。

XMLHttpRequest 对象的属性:

属性                       描述

onreadystatechange //状态改变的事件触发器
无论readyState值何时发生改变,XMLHttpRequest对象都会激发一个readystatechange事件。其中,onreadystatechange属性接收一个EventListener值-向该方法指示无论readyState值何时发生改变,该对象都将激活。

readyState//对象状态(integer):
0 = 未初始化
1 =  读取中
2 = 已读取
3 = 交互中
4 = 完成

responseText//服务器进程返回数据的文本版本
这个responseText属性包含客户端接收到的HTTP响应的文本内容。当readyState值为0、1或2时,responseText包含一个空字符串。当readyState值为3(正在接收)时,响应中包含客户端还未完成的响应信息。当readyState为4(已加载)时,该responseText包含完整的响应信息。

responseXML//服务器进程返回数据的兼容DOM 的XML 文档对象
此responseXML属性用于当接收到完整的HTTP响应时(readyState为4)描述XML响应;此时,Content-Type头部指定MIME(媒体)类型为text/xml,application/xml或以+xml结尾。如果Content-Type头部并不包含这些媒体类型之一,那么responseXML的值为null。无论何时,只要readyState值不为4,那么该responseXML的值也为null。其实,这个responseXML属性值是一个文档接口类型的对象,用来描述被分析的文档。如果文档不能被分析(例如,如果文档不是良构的或不支持文档相应的字符编码),那么responseXML的值将为null。

status//服务器返回的状态码,  如:404 = "文件末找到" 、200 ="成功"
这个status属性描述了HTTP状态代码,而且其类型为short。而且,仅当readyState值为3(正在接收中)或4(已加载)时,这个status属性才可用。当readyState的值小于3时试图存取status的值将引发一个异常。

statusText// 服务器返回的状态文本信息
这个statusText属性描述了HTTP状态代码文本;并且仅当readyState值为3或4才可用。当readyState为其它值时试图存取statusText属性将引发一个异常。

发送请求

  在AJAX中,许多使用XMLHttpRequest的请求都是从一个HTML事件(例如一个调用JavaScript函数的按钮点击(onclick)或一个按键(onkeypress))中被初始化的。AJAX支持包括表单校验在内的各种应用程序。有时,在填充表单的其它内容之前要求校验一个唯一的表单域。例如要求使用一个唯一的UserID来注册表单。如果不是使用AJAX技术来校验这个UserID域,那么整个表单都必须被填充和提交。如果该UserID不是有效的,这个表单必须被重新提交。例如,一个相应于一个要求必须在服务器端进行校验的Catalog ID的表单域可能按下列形式指定:

<form name="validationForm" action="validateForm" method="post">
<table>
 <tr><td>Catalog Id:</td>
  <td>
   <input type="text" size="20" id="catalogId" name="catalogId" autocomplete="off" onkeyup="sendRequest()">
  </td>
  <td><div id="validationMessage"></div></td>
 </tr>
</table></form>

  前面的HTML使用validationMessage div来显示相应于这个输入域Catalog Id的一个校验消息。onkeyup事件调用一个JavaScript sendRequest()函数。这个sendRequest()函数创建一个XMLHttpRequest对象。创建一个XMLHttpRequest对象的过程因浏览器实现的不同而有所区别。如果浏览器支持XMLHttpRequest对象作为一个窗口属性(所有普通的浏览器都是这样的,除了IE 5和IE 6之外),那么,代码可以调用XMLHttpRequest的构造器。如果浏览器把XMLHttpRequest对象实现为一个ActiveXObject对象(就象在IE 5和IE 6中一样),那么,代码可以使用ActiveXObject的构造器。下面的函数将调用一个init()函数,它负责检查并决定要使用的适当的创建方法-在创建和返回对象之前。

<script type="text/javascript">
function sendRequest(){
 var xmlHttpReq=init();
 function init(){
  if (window.XMLHttpRequest) {
   return new XMLHttpRequest();
  }
 else if (window.ActiveXObject) {
  return new ActiveXObject("Microsoft.XMLHTTP");
 }
}
</script>

  接下来,你需要使用Open()方法初始化XMLHttpRequest对象-指定HTTP方法和要使用的服务器URL。

var catalogId=encodeURIComponent(document.getElementById("catalogId").value);
xmlHttpReq.open("GET", "validateForm?catalogId=" + catalogId, true);

  默认情况下,使用XMLHttpRequest发送的HTTP请求是异步进行的,但是你可以显式地把async参数设置为true,如上面所展示的。
在这种情况下,对URL validateForm的调用将激活服务器端的一个servlet,但是你应该能够注意到服务器端技术不是根本性的;实际上,该URL可能是一个ASP,ASP.NET或PHP页面或一个Web服务-这无关紧要,只要该页面能够返回一个响应-指示CatalogID值是否是有效的-即可。因为你在作一个异步调用,所以你需要注册一个XMLHttpRequest对象将调用的回调事件处理器-当它的readyState值改变时调用。记住,readyState值的改变将会激发一个readystatechange事件。你可以使用onreadystatechange属性来注册该回调事件处理器。

xmlHttpReq.onreadystatechange=processRequest;

  然后,我们需要使用send()方法发送该请求。因为这个请求使用的是HTTP GET方法,所以,你可以在不指定参数或使用null参数的情况下调用send()方法。

xmlHttpReq.send(null);

处理请求

  在这个示例中,因为HTTP方法是GET,所以在服务器端的接收servlet将调用一个doGet()方法,该方法将检索在URL中指定的catalogId参数值,并且从一个数据库中检查它的有效性。

  本文示例中的这个servlet需要构造一个发送到客户端的响应;而且,这个示例返回的是XML类型,因此,它把响应的HTTP内容类型设置为text/xml并且把Cache-Control头部设置为no-cache。设置Cache-Control头部可以阻止浏览器简单地从缓存中重载页面。

public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
 ...
 ...
 response.setContentType("text/xml");
 response.setHeader("Cache-Control", "no-cache");
}

  来自于服务器端的响应是一个XML DOM对象,此对象将创建一个XML字符串-其中包含要在客户端进行处理的指令。另外,该XML字符串必须有一个根元素。

out.println("<catalogId>valid</catalogId>");

  【注意】XMLHttpRequest对象的设计目的是为了处理由普通文本或XML组成的响应;但是,一个响应也可能是另外一种类型,如果用户代理(UA)支持这种内容类型的话。

  当请求状态改变时,XMLHttpRequest对象调用使用onreadystatechange注册的事件处理器。因此,在处理该响应之前,你的事件处理器应该首先检查readyState的值和HTTP状态。当请求完成加载(readyState值为4)并且响应已经完成(HTTP状态为"OK")时,你就可以调用一个JavaScript函数来处理该响应内容。下列脚本负责在响应完成时检查相应的值并调用一个processResponse()方法。

function processRequest(){
 if(xmlHttpReq.readyState==4){
  if(xmlHttpReq.status==200){
   processResponse();
  }
 }
}

  该processResponse()方法使用XMLHttpRequest对象的responseXML和responseText属性来检索HTTP响应。如上面所解释的,仅当在响应的媒体类型是text/xml,application/xml或以+xml结尾时,这个responseXML才可用。这个responseText属性将以普通文本形式返回响应。对于一个XML响应,你将按如下方式检索内容:

var msg=xmlHttpReq.responseXML;

  借助于存储在msg变量中的XML,你可以使用DOM方法getElementsByTagName()来检索该元素的值:

var catalogId=msg.getElementsByTagName("catalogId")[0].firstChild.nodeValue;

  最后,通过更新Web页面的validationMessage div中的HTML内容并借助于innerHTML属性,你可以测试该元素值以创建一个要显示的消息:

if(catalogId=="valid"){
 var validationMessage = document.getElementById("validationMessage");
 validationMessage.innerHTML = "Catalog Id is Valid";
}
else
{
 var validationMessage = document.getElementById("validationMessage");
 validationMessage.innerHTML = "Catalog Id is not Valid";
}


2、Javascript  

    Javascript 一直被定位为客户端的脚本语言,应用最多的地方是表单数据的校验。现在,
可以通过Javascript 操作XMLHttpRequest,来跟数据库打交道。

3、DOM  

    DOM   (Document   Object  Model )是提供给HTML 和XML 使用的一组API,提供了文
件的表述结构,并可以利用它改变其中的内容和可见物。脚本语言通过DOM 才可以跟页面
进行交互。Web 开发人员可操作及建立文件的属性、方法以及事件都以对象来展现。比如,
document 就代表页面对象本身。

4、XML  

    通过XML  (Extensible Markup Language),可以规范的定义结构化数据,是网上传输的
数据和文档符合统一的标准。用XML 表述的数据和文档,可以很容易的让所有程序共享。

Tags: AJAX

真正的文字竖排

[html]<html>
<head>
<title>文字竖排</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
<!--
td {
font-family: Geneva, Arial, Helvetica, sans-serif;
font-size: 12px;
line-height: 1.6em;
color: #666666;
}
-->
</style>
</head>

<body>
<br><table width="20%"  border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td style="layout-flow: vertical-ideographic">面试主管:你对电脑懂多少?
  应聘者:懂一点,我戴过电子表,玩过任天堂,房间有一台电视……还有,我看过同学用DOS开机,两
  次……
  面试主管:下一位!
  面试主管:你对电脑懂多少?
  应聘者:嗯,那要看是哪一种电脑了。一般的超次掌上型矽单晶片时脉输出电脑(电子表)比较简单,我
  小学时候常常使用它的解译编码作业流程(闹铃功能)。至于多功能虚拟实境模拟器(任天堂)就复杂得多,
  不过我曾经完整测试过许多静态资料储存单体(只玩卡带破关)。长大后我对复频道超高频无线多媒体接收仪
  器(电视)开始产生兴趣,每天晚上都会追踪特定频道的资料?指八点档电视剧?。至于传统的电脑,我手下的
  一位工作伙伴(同学)经常在我的监控之下进行主储存矽单体与磁化资料存取器之间的信号交换(指用DOS开
  机)……
  面试主管:很好,明天开始上班。你的配车在地下二楼,附车位,这是钥匙</td>
  </tr>
</table>

</body>
</html>[/html]

Tags: 排版

对联广告

[html]<html>
<head>
<title>对联广告 -清风华韵</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body style="margin:0px;">
<div align="center">
  <center>
  <table border="1" width="776" height="3000" cellspacing="0" cellpadding="0">
    <tr>
      <td width="100%" valign="top"><div align="center" style="color:green;font-size:23pt;font-family:黑体;"><br><br>页<br>面<br>区<br>域</div></td>
    </tr>
  </table>
  </center>
</div>
<SCRIPT LANGUAGE="JavaScript">
<!--
var showad = true;
var Toppx = 60;  //上端位置
var AdDivW = 100;  //宽度
var AdDivH = 360;  //高度
var PageWidth = 800; //页面多少宽度象素下正好不出现左右滚动条
var MinScreenW = 1024; //显示广告的最小屏幕宽度象素

var ClosebuttonHtml = "<div align="right" style="position: absolute;top:0px;right:0px;margin:2px;padding:2px;z-index:2000;"><a href="javascript:;" onclick="hidead()" style="color:red;text-decoration:none;font-size:12px;">关闭</a></div>"
var AdContentHtml = "<div align="center" style="color:green;font-size:23pt;font-family:黑体;"><br><br>广<br>告<br>内<br>容</div>";
document.write ("<div id="Javascript.LeftDiv" style="position: absolute;border: 1px solid #336699;background-color:#EEEEE2;z-index:1000;width:"+AdDivW+"px;height:"+AdDivH+"px;top:-1000px;word-break:break-all;display:none;">"+ClosebuttonHtml+"<div>"+AdContentHtml+"</div></div>");
document.write ("<div id="Javascript.RightDiv" style="position: absolute;border: 1px solid #336699;background-color:#EEEEE2;z-index:1000;width:"+AdDivW+"px;height:"+AdDivH+"px;top:-1000px;word-break:break-all;display:none;">"+ClosebuttonHtml+"<div>"+AdContentHtml+"</div></div>");
function scall(){
if(!showad){return;}
if (window.screen.width<MinScreenW){
  alert("临时提示:\n\n显示器分辨率宽度小于"+MinScreenW+",不显示广告");
  showad = false;
  document.getElementById("Javascript.LeftDiv").style.display="none";
  document.getElementById("Javascript.RightDiv").style.display="none";
  return;
}
var Borderpx = ((window.screen.width-PageWidth)/2-AdDivW)/2;

document.getElementById("Javascript.LeftDiv").style.display="";
document.getElementById("Javascript.LeftDiv").style.top=document.body.scrollTop+Toppx;
document.getElementById("Javascript.LeftDiv").style.left=document.body.scrollLeft+Borderpx;
document.getElementById("Javascript.RightDiv").style.display="";
document.getElementById("Javascript.RightDiv").style.top=document.body.scrollTop+Toppx;
document.getElementById("Javascript.RightDiv").style.left=document.body.scrollLeft+document.body.clientWidth-document.getElementById("Javascript.RightDiv").offsetWidth-Borderpx;
}

function hidead()
{
showad = false;
document.getElementById("Javascript.LeftDiv").style.display="none";
document.getElementById("Javascript.RightDiv").style.display="none";
}
window.onscroll=scall;
window.onresize=scall;
window.onload=scall;
//-->
</SCRIPT>
</body>
</html>[/html]

Tags: JS, 广告

图像聚焦后显示为灰色

[html]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml...
<html xmlns="http://www.w3.org/1999/xht...
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>图像聚焦后显示为灰色</title>
<style type="text/css">
<!--
#imgSrc {margin:20px 0 10px 50px;padding:10px;width:145px;border:1px solid #ccc;
}
-->
</style>
<script event="onmouseover" for="imgSrc">
    if(event.srcElement.tagName=="IMG")    event.srcElement.style.filter="Gray";
</script>
<script event="onmouseout" for="imgSrc">
    if(event.srcElement.tagName=="IMG")    event.srcElement.style.filter="";
</script>
</head>

<body>
<div id="imgSrc"><img src="/skins/RedIdea/Preview.jpg" alt="清风华韵" /></div>
</body>
</html> [/html]

Tags: JS

上传图片预览,显示图片尺寸

[html]<html>
<head>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data" name="form1">
<input name="attach" type="file" onchange="javascript:ShowImg(this.value);" onKeyDown="javascript:return(false);" size="20">
<script language="JavaScript">
function ShowImg(src)
{
document.getElementById("imgDiv").innerHTML="图片预览:<br><img id="imgObj" onerror="javascript:GetError()" onload="javascript:GetSize()" src="file:///" + src + "">";
}
function GetSize()
{
var width,height;
var imgObj=document.getElementById("imgObj");
width=imgObj.width;
height=imgObj.height;
document.getElementById("err_msg").innerHTML="图片大小(宽×高):<font color=red>" + width + "×" + height + "</font>";
if(width>164){
imgObj.width=164;
imgObj.height=imgObj.height/(imgObj.width/164);
}
}
function GetError()
{
document.getElementById("err_msg").innerHTML="图片大小(宽×高):<font color=red>NaN</font>";
document.getElementById("imgDiv").innerHTML="";
document.getElementById("err_msg").innerHTML="图片文件不存在或格式错误!"
}
</script>
<div id="imgDiv" align="center"></div>
<div id="err_msg" align="center"></div>
</form>
</body>
</html>[/html]
遗憾的是,在IE7.0中不能正确显示.可能是出于安全考虑,限制了某些脚本=.=

Tags: JS, 上传预览

JS刷新父框架

//刷新父框架
<script language="javascript">
window.parent.location.reload("login.php")
</script>

Tags: JS

js改变表单状态

//用多选框 改变 按钮状态
<input type="checkbox" id="check">
<input type=button value=try onclick="with(check){disabled=disabled==false?true:false;}">
<input type=button value=try2 onclick="with(check){disabled=true;}">
<input type="checkbox" id="check1" onclick="with(this){disabled=true;}">
应用:
在用户注册时 必须勾上‘我同意’的复选框,才可以点‘下一步’按钮用。

Tags: JS

无刷新省市二级连动下拉框(JS+XML)

city.htm

<script language="JavaScript">
var xmldom=new ActiveXObject("Microsoft.XMLDOM");
var province=[];
var cities=[];
function init(){
xmldom.async=true;
xmldom.onreadystatechange=statInit;
window.setTimeout(function(){xmldom.load("city.xml");},10);
}
function statInit(){

if(xmldom.readyState==4){
if( xmldom == null || xmldom.documentElement == null) {
alert("XML文件不存在或没有菜单项");
return ;
}
cr&#101;ateProvince();
}
}
function cr&#101;ateProvince(){
var provinces=xmldom.getElementsByTagName("province");
delitem(document.all.province);
delitem(document.all.city);
for (var i=0;i<provinces.length;i++){
province[i]=provinces[i].getAttribute("name");
cities[i]=provinces[i].getAttribute("cities");
document.all.province.add(window.Option(province[i],province[i]));
}
provinceChange(0);
}
function provinceChange(index){
var city=cities[index].split(" ");
delitem(document.all.city);
for (var i=0;i<city.length;i++){
document.all.city.add(window.Option(city[i],city[i]));
}
}
function delitem(options){
    optioncount=options.length;
    for(i=optioncount-1;i>=0;i--){
        options.options[i] = null
    }
}
</script>
<body onLoad="init()">
<sel&#101;ct name="province" onChange="provinceChange(this.sel&#101;ctedIndex)">
</sel&#101;ct>
<sel&#101;ct name="city">
</sel&#101;ct>
</body>


city.xml

<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE china [
<!ELEMENT province EMPTY>
<!ELEMENT china (province*)>

<!ATTLIST province name NMTOKEN #REQUIRED>
<!ATTLIST province cities NMTOKENS #REQUIRED>
]>

<china>
<province name="全选" cities="全选"/>
<province name="安徽" cities="全选 安庆 蚌埠 巢湖 池州 滁州 阜阳 合肥 淮北 淮南 黄山 六安 马鞍山 宿州 铜陵 芜湖 宣城 亳州"/>

<province name="北京" cities="全选 北京"/>

<province name="福建" cities="全选 福州 龙岩 南平 宁德 莆田 泉州 三明 厦门 漳州"/>

<province name="甘肃" cities="全选 白银 定西 甘南藏族自治州 嘉峪关 金昌 酒泉 兰州 临夏回族自治州 陇南 平凉 庆阳 天水 武威 张掖"/>

<province name="广东" cities="全选 潮州 东莞 佛山 广州 河源 惠州 江门 揭阳 茂名 梅州 清远 汕头 汕尾 韶关 深圳 阳江 云浮 湛江 肇庆 中山 珠海"/>

<province name="广西" cities="全选 百色 北海 崇左 防城港 桂林 贵港 河池 贺州 来宾 柳州 南宁 钦州 梧州 玉林"/>

<province name="贵州" cities="全选 安顺 毕节 贵阳 六盘水 黔东南苗族侗族自治州 黔南布依族苗族自治州 黔西南布依族苗族自治州 铜仁 遵义"/>

<province name="海南" cities="全选 白沙黎族自治县 保亭黎族苗族自治县 昌江黎族自治县 澄迈县 定安县 东方 海口 乐东黎族自治县 临高县 陵水黎族自治县 琼海 琼中黎族苗族自治县 三亚 屯昌县 万宁 文昌 五指山 儋州"/>

<province name="河北" cities="全选 保定 沧州 承德 邯郸 衡水 廊坊 秦皇岛 石家庄 唐山 邢台 张家口"/>

<province name="河南" cities="全选 安阳 鹤壁 济源 焦作 开封 洛阳 南阳 平顶山 三门峡 商丘 新乡 信阳 许昌 郑州 周口 驻马店 漯河 濮阳"/>

<province name="黑龙江" cities="全选 大庆 大兴安岭 哈尔滨 鹤岗 黑河 鸡西 佳木斯 牡丹江 七台河 齐齐哈尔 双鸭山 绥化 伊春"/>

<province name="湖北" cities="全选 鄂州 恩施土家族苗族自治州 黄冈 黄石 荆门 荆州 潜江 神农架林区 十堰 随州 天门 武汉 仙桃 咸宁 襄樊 孝感 宜昌"/>

<province name="湖南" cities="全选 常德 长沙 郴州 衡阳 怀化 娄底 邵阳 湘潭 湘西土家族苗族自治州 益阳 永州 岳阳 张家界 株洲"/>

<province name="吉林" cities="全选 白城 白山 长春 吉林 辽源 四平 松原 通化 延边朝鲜族自治州"/>

<province name="江苏" cities="全选 常州 淮安 连云港 南京 南通 苏州 宿迁 泰州 无锡 徐州 盐城 扬州 镇江"/>

<province name="江西" cities="全选 抚州 赣州 吉安 景德镇 九江 南昌 萍乡 上饶 新余 宜春 鹰潭"/>

<province name="辽宁" cities="全选 鞍山 本溪 朝阳 大连 丹东 抚顺 阜新 葫芦岛 锦州 辽阳 盘锦 沈阳 铁岭 营口"/>

<province name="内蒙古" cities="全选 阿拉善盟 巴彦淖尔盟 包头 赤峰 鄂尔多斯 呼和浩特 呼伦贝尔 通辽 乌海 乌兰察布盟 锡林郭勒盟 兴安盟"/>

<province name="宁夏" cities="全选 固原 石嘴山 吴忠 银川"/>

<province name="青海" cities="全选 果洛藏族自治州 海北藏族自治州 海东 海南藏族自治州 海西蒙古族藏族自治州 黄南藏族自治州 西宁 玉树藏族自治州"/>

<province name="山东" cities="全选 滨州 德州 东营 菏泽 济南 济宁 莱芜 聊城 临沂 青岛 日照 泰安 威海 潍坊 烟台 枣庄 淄博"/>

<province name="山西" cities="全选 长治 大同 晋城 晋中 临汾 吕梁 朔州 太原 忻州 阳泉 运城"/>

<province name="陕西" cities="全选 安康 宝鸡 汉中 商洛 铜川 渭南 西安 咸阳 延安 榆林"/>

<province name="上海" cities="全选 上海"/>

<province name="四川" cities="全选 阿坝藏族羌族自治州 巴中 成都 达州 德阳 甘孜藏族自治州 广安 广元 乐山 凉山彝族自治州 眉山 绵阳 南充 内江 攀枝花 遂宁 雅安 宜宾 资阳 自贡 泸州"/>

<province name="天津" cities="全选 天津"/>

<province name="西藏" cities="全选 阿里 昌都 拉萨 林芝 那曲 日喀则 山南"/>

<province name="新疆" cities="全选 阿克苏 阿拉尔 巴音郭楞蒙古自治州 博尔塔拉蒙古自治州 昌吉回族自治州 哈密 和田 喀什 克拉玛依 克孜勒苏柯尔克孜自治州 石河子 图木舒克 吐鲁番 乌鲁木齐 五家渠 伊犁哈萨克自治州"/>

<province name="云南" cities="全选 保山 楚雄彝族自治州 大理白族自治州 德宏傣族景颇族自治州 迪庆藏族自治州 红河哈尼族彝族自治州 昆明 丽江 临沧 怒江傈傈族自治州 曲靖 思茅 文山壮族苗族自治州 西双版纳傣族自治州 玉溪 昭通"/>

<province name="浙江" cities="全选 杭州 湖州 嘉兴 金华 丽水 宁波 绍兴 台州 温州 舟山 衢州"/>

<province name="重庆" cities="全选 重庆"/>
</china>

下载文件
点击这里下载文件

Tags: JS, xml

简繁转换JS版

<script language="javascript" src="my.js"></script>
<body onLoad="convert(1,123)">
<SPAN id=tpid123><SPAN id=spid123>
...........转成繁体
</span></span>

=====================================

<body onLoad="convert(0,123)">
<SPAN id=tpid123><SPAN id=spid123>
...........转成简体
</span></span>
下载文件
点击这里下载文件

Tags: JS

Records:9612345678910