从页面代码看火车票订票系统 12306的代码质量
2012-01-06 14:49
597 查看
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=7" /> <meta name="Robots" content="none"/> <meta http-equiv="Expires" content="0"/> <meta http-equiv="Cache-Control" content="no-cache"/> <meta http-equiv="pragma" content="no-cache"/> <title>铁路客户服务中心</title> <link href="/otsweb/css/style.css" rel="stylesheet" type="text/css"/> <link href="/otsweb/css/contact.css" rel="stylesheet" type="text/css"/> <link href="/otsweb/css/validation.css" rel="stylesheet" type="text/css" /> <link rel="stylesheet" type="text/css" href="/otsweb/css/easyui.css"/> <link rel="stylesheet" type="text/css" href="/otsweb/css/suggest.css"/> <link href="/otsweb/css/cupertino/jquery-ui-1.8.2.custom.css" rel="stylesheet" type="text/css" /> <link rel="shortcut icon" href="http://www.12306.cn/mormhweb/images/favicon.ico"/> <script type="text/javascript" src="/otsweb/js/common/iepngfix_tilebg.js?version=2.0"></script> <script src="/otsweb/js/common/jquery-1.4.2.min.js?version=2.0" type="text/javascript"></script> <script src="/otsweb/js/common/autoHeight.js?version=2.0" type="text/javascript"></script> <script src="/otsweb/js/common/jquery.bgiframe.min.js?version=2.0" type="text/javascript"></script> <script src="/otsweb/js/common/jquery.easyui.min.js?version=2.0" type="text/javascript"></script> <script src="/otsweb/js/common/datepicker/WdatePicker.js?version=2.0" type="text/javascript"></script> <script src="/otsweb/js/common/j.suggest.js?version=2.0" type="text/javascript"></script> <script src="/otsweb/js/common/trainCodeSuggest.js?version=2.0" type="text/javascript"></script> <style> div,img,li,input,a { behavior: url("/otsweb/js/common/iepngfix.htc") } </style> </head> <body> <script src="/otsweb/js/common/jquery-ui-1.8.2.custom.dialog.min.js?version=2.0" type="text/javascript"></script> <script src="/otsweb/js/common/pop_message.js?version=2.0" type="text/javascript"></script> <div class="conWrap" > <div id="menu_w" class="menu_w" > <div id="menu_left" class="menu_left"> <ul> <li><a href="/otsweb/order/querySingleAction.do?method=init" class="n_on" target="main"><cite>车票预订</cite></a></li> <li><a href="http://dynamic.12306.cn/TrainQuery/leftTicketByStation.jsp" class="n_out" target="main"><cite>余票查询</cite></a></li> <li name="horverLi"><a href="#" class="n_out"><cite>列车时刻表查询</cite></a> <p style="width:135px"> <a href="http://dynamic.12306.cn/TrainQuery/trainPassStationByTrainCode.jsp" target="main">车次查询</a> <a href="http://dynamic.12306.cn/TrainQuery/trainInfoByStation.jsp" target="main">发到站查询</a> <a href="http://dynamic.12306.cn/TrainQuery/ticketPriceByStation.jsp" target="main">票价查询</a> <a href="http://dynamic.12306.cn/TrainQuery/middleStation.jsp" target="main">中转查询</a> <a href="http://dynamic.12306.cn/TrainQuery/passTrainInfoByStation.jsp" target="main">车站经过车次查询</a> </p> </li> <li><a href="http://dynamic.12306.cn/map_zwdcx/CCCX.jsp" class="n_out" target="main"><cite>正晚点查询</cite></a></li> <li><a href="http://dynamic.12306.cn/TrainQuery/sellTicketStation.jsp" class="n_out" target="main"><cite>客票代售点</cite></a></li> <li><a href="http://dynamic.12306.cn/TrainQuery/TrainInfoByCity.jsp" class="n_out" target="main"><cite>铁路旅程规划</cite></a></li> </ul> </div> <div class="menu_r"> <ul> <li class="menu_sline"><a href="/otsweb/loginAction.do?method=initForMy12306" class="n_out" target="main"><cite>我的12306</cite></a></li> <li id="login_out"><a href="/otsweb/login.jsp" class="n_out" target="main"><cite>登录</cite></a></li> <li id="username_"><a href="/otsweb/registAction.do?method=regitNote" class="n_out" target="main"><cite>注册</cite></a></li> </ul> </div> </div> <script> $(function(){ //if(!$.browser.msie){ // alert("非常抱歉,系统目前暂不支持您的浏览器!"); //} $('.menu_left ul li[name="horverLi"]').hover( function(){ $(this).find('p').stop(true,true).show(); },function(){ $(this).find('p').stop(true,true).hide(); }); }); $("#menu_w a").bind("click",function(){ $("#menu_w a").attr("class","n_out"); $(this).attr("class","n_on"); }); function hideMenu(){ $("#menu_w").hide(); doIframe() ; } function showMenu(){ $("#menu_w").show(); doIframe() ; } function clickMenu(title){ $("#menu_w a").each(function(){ if($(this).find("cite").length>0){ if($(this).find("cite")[0].innerHTML == title){ $(this).click(); } } }); } function hasLogin(_name) { $("#username_ a").attr("href","/otsweb/sysuser/user_info.jsp"); $("#username_ a > cite").html(_name); $("#login_out a").attr("href","/otsweb/loginAction.do?method=logout"); $("#login_out a > cite").html("退出"); } //退出登录 function notLogin(){ $("#username_ a").attr("href","/otsweb/registAction.do?method=regitNote"); $("#username_ a > cite").html("注册"); $("#login_out a").attr("href","/otsweb/loginAction.do?method=init"); $("#login_out a > cite").html("登录"); } $(document).ready(function(){ var iframeForwardUrl = ""; if (iframeForwardUrl != ""){ $("#main")[0].src=iframeForwardUrl; if(iframeForwardUrl == "http://dynamic.12306.cn/TrainQuery/leftTicketByStation.jsp"){ clickMenu('余票查询'); }else if(iframeForwardUrl == "http://dynamic.12306.cn/TrainQuery/trainPassStationByTrainCode.jsp"){ clickMenu('列车时刻表查询'); }else if(iframeForwardUrl == "http://dynamic.12306.cn/TrainQuery/ticketPriceByStation.jsp"){ clickMenu('列车时刻表查询'); }else if(iframeForwardUrl == "http://dynamic.12306.cn/TrainQuery/sellTicketStation.jsp"){ clickMenu('客票代售点'); }else if(iframeForwardUrl == "http://dynamic.12306.cn/map_zwdcx/CCCX.jsp"){ clickMenu('正晚点查询'); } }else{ $("#main")[0].src="/otsweb/loginAction.do?method=init"; } }); </script> <div class="enter_w" style="width:960px"> <iframe id="main" name="main" frameborder="0" class="autoHeight" width="100%" scrolling="auto"></iframe> <iframe id="ictiframe" src="" style="height:0px;width:0px;diapay:none"/> </div> </div> </body> </html> <script language="javascript"> var message = ""; var messageShow =""; var flag ='null'; if(messageShow != ""){ if(flag == 'u'){ $("#messageUp").css({display:"inline"}); document.getElementById("messageUp").innerHTML = message; }else{ $("#messageDown").css({display:"inline"}); document.getElementById("messageDown").innerHTML = message; } }else{ if ( message != ""){ alert(message); } } </script>
请原谅我一开始就贴这么一大段代码。
我看不到后台代码,也无法分析其架构。但是我有代码洁癖,就看这点代码,恶心的够呛。
1 规范性
<link href="/otsweb/css/style.css" rel="stylesheet" type="text/css"/> <link href="/otsweb/css/contact.css" rel="stylesheet" type="text/css"/> <link href="/otsweb/css/validation.css" rel="stylesheet" type="text/css" /> <link rel="stylesheet" type="text/css" href="/otsweb/css/easyui.css"/> <link rel="stylesheet" type="text/css" href="/otsweb/css/suggest.css"/>同样引用 css,为啥写法不一样啊?
<script type="text/javascript" src="/otsweb/js/common/iepngfix_tilebg.js?version=2.0"></script> <script src="/otsweb/js/common/jquery-1.4.2.min.js?version=2.0" type="text/javascript"></script> <script src="/otsweb/js/common/autoHeight.js?version=2.0" type="text/javascript"></script> <script src="/otsweb/js/common/jquery.bgiframe.min.js?version=2.0" type="text/javascript"></script> <script src="/otsweb/js/common/jquery.easyui.min.js?version=2.0" type="text/javascript"></script>这段要引用这么多 js 脚本,书写也是混乱的,
iepngfix_tilebg这个是为了 6.0 不支持PNG的js吧。jquery 自己就可以搞定啊,还要添足干啥?
<script src="/otsweb/js/common/jquery-ui-1.8.2.custom.dialog.min.js?version=2.0" type="text/javascript"></script> <script src="/otsweb/js/common/pop_message.js?version=2.0" type="text/javascript"></script>要是我看到程序员把这样的引用放在body里面,我一定骂个狗头喷血。
//if(!$.browser.msie){ // alert("非常抱歉,系统目前暂不支持您的浏览器!"); //}没用的代码,干嘛不删除?
if(flag == 'u'){ $("#messageUp").css({display:"inline"}); document.getElementById("messageUp").innerHTML = message; }else{ $("#messageDown").css({display:"inline"}); document.getElementById("messageDown").innerHTML = message; }这段特别搞笑,写代码的人难道不知道 jQuery的 “$”是干啥用的么? 还混着用了。
二 CSS 优化
看看 这个页面引用了多少CSS,都有用么?CSS 压缩了吗,规范化了吗。
三 iframe 嵌套
订票的首页 居然嵌套了三层iframe。什么目的,我没懂
四 一个登录页面居然发生了三十次请求,我们也看得出订票系统硬件系统相当强大。
五 简单的破坏一下
在密码的地方输入 and 1=1 , 或者 输入一个 select * from 一类的 看看会出现什么奇迹?
这个留给大家做实验吧。
时间仓促,有空再深入研究其代码质量吧。
相关文章推荐
- 使用uft对飞机订票系统订单页面总票价控件内容的正确性的验证代码
- python 火车票订票系统(12306)
- 网络应用系统---系统设计架构个人项目实战示例(各种页面代码A)
- 集成开源系统实现自动化构建、代码质量评估、项目信息统计
- 12306网络订票系统
- 集成开源系统实现自动化构建、代码质量评估、项目信息统计(1)——Jenkins安装
- 【cl】在代码中查找系统页面中的代码方法
- 聚合数据iOS SDK 12306火车票查询订票演示示例
- 聚合数据Android SDK 12306火车票查询订票演示示例
- RBM 推荐系统 Java代码(质量堪忧,仅供参考,欢迎讨论)
- 12306 订票系统 源码
- 12306火车票订票网站的一个Bug
- 12306 订票助手(火车票订票插件)
- SSH笔记 在JSP页面中通过Java获取系统时间并赋值给当前页面标签完整代码
- 12306网购火车票技巧春节订票技巧
- 【Android实测】调起系统浏览器打开指定页面代码
- 12306火车票订票失败!您的身份信息未经核验,一般人是不能订票的,我订了,可是没成功。。。
- 终于开发完了12306订票系统 彻底解决负载 刷新 404等问题
- 12306订票系统技术内幕 源码
- 火车票订票系统的几点优化思考