起步
Beginning

基本模板

页面基本结构,保障产品组件正常显示

                            <!DOCTYPE html>
                            <html class="over_hidden h100b">
                            <head>
                                <title></title>
                            </head>
                            <body class="over_hidden h100b">
                            </body>
                            </html>
                        
<!DOCTYPE html>必须放到页面第一行
<html>和<body>“必须”含有如下class

"over_hidden h100b"是实现界面高度自适应的基础样式。

目录结构

新框架

seeyon/
├── common/
│   ├── all-min.css         /*公用样式包*/
│   └── js/
│       ├── v3x-debug.js    /*v3x依赖js*/
│       └── ui/             /*组件js*/
│           ├── seeyon.ui.layout-debug.js
│           ├── seeyon.ui.grid-debug.js
│           └── ...
│── skin/
│   ├── default/             /*默认皮肤*/
│   │   └── skin.css    
│   └── GOV_red/             /*政务皮肤*/
│       └── skin.css
└── main/				
    ├── login/               /*【登陆页皮肤】*/
    │   ├── default/         /*A8*/
    │   ├── default-A6/      /*A6*/
    │   ├── default-A6s/     /*A6s*/
    │   ├── default-A6-U8/   /*A6-U8*/
    │   ├── default-A8s-U8/  /*A8s-U8*/
    │   ├── default-G6/      /*政务*/
    │   └── scroll/          /*多图*/
    ├── frames/
    │   ├── defaultV51
    │   │   └── index.css    /*首页框架-公用样式*/
    │   └── desktop
    │       └── index.css    /*工作桌面-公用样式*/
    └── skin/ 
        ├── frame            /*【首页框架皮肤】*/
        │   ├── harmony      /*和谐之美(默认)*/
        │   ├── peaceful     /*宁静之韵*/
        │   ├── wisdom       /*智慧之美*/
        │   ├── GOV_red      /*政务-红*/
        │   └── GOV_blue     /*政务-蓝*/
        └── desktop          /*【工作桌面皮肤】*/
            ├── harmony      /*和谐之美(默认)*/
            ├── peaceful     /*宁静之韵*/
            ├── wisdom       /*智慧之美*/
            ├── GOV_red      /*政务-红*/
            └── GOV_blue     /*政务-蓝*/

老框架

seeyon/
└── common/
    ├── skin/
    │   ├── default/
    │   │   ├── skin.css      /*默认样式*/
    │   │   └── images
    │   │       └── xmenu
    │   │           └── toolbar.trip.png     /*toolbar定位图片*/
    │   └── GOV_red/
    │       └── skin.css      /*政务样式*/
    └── js/
        └── V3X.js            /*组件js*/

浏览器支持

功能支持

IE7+、Chrome、Firefox、360、Safari。

页面效果最佳

IE9+、Chrome、Firefox、360、Safari。低版本浏览器抛弃圆角、过度动画等效果。IE11采用降级到IE9显示处理方式。

js命名空间

javascript模块化的第一条规则:一个模块不应该为全局名字空间添加多于一条的标记.通俗的讲:除了给全局命名空间定义一个模块的命名空间,其它的你一句代码都不要写

1.防止全局变量被覆盖

2.减少全局变量个数

                        //js文件名和命名空间名保持一致   
                        //全局变量和函数保存在命名空间中
                        //Collaboration.js      
                                  	
                        var Collaboration;  

                        if(!Collaboration) Collaboration = {};//第一级域名  

                        Collaboration.xxx = xxx;//变量

                        Collaboration.函数名1=function(){  //函数
                             
                        }   

                        //---------------------------------------------------------------------------------------

                        //如果js文件名相同,则需要将不同的js放到不同的目录,则需要定义多级

                        var com;  

                        if(!com) com={};//如果com不存在,则新生成一个  

                        else if(typeof com!="object"){//如果已存在,但不是一个对象,则抛出一个异常  
                        	
                           throw new Error("com already exists and is not an object");  
                        }  
                          
                        if(!com.util) com.util={};//如果com.util不存在则新生成一个  

                        else if(typeof com.util!="object"){//如果com存在,但不是一个对象,则抛出一个异常  
                        	
                            throw new Error("com.util already exists and is not an object");  
                        }  
                          
                        if(!com.util.Collaboration){//如果com.util.ModuleClass存在,则直接抛出异常  
                        	
                            throw new Error("com.util.Collaboration already exists");  
                        }  
                        com.util.Collaboration = {//在com.util.Collaboration不存在的情况下,我们才能正常使用在此命名空间下定义的代码  
                        	
                            函数1:function(){ 函数体;}, 
                             
                            函数2:function(){ 函数体;}  
                            
                        };
                    

前端开发规范

符合 web 标准, 语义化 html, 结构表现行为分离, 兼容性优良. 页面性能方面, 代码要求简洁明了有序, 尽可能的减小服务器负载, 保证最快的解析速度。

1.命名规范

驼峰式命名法:是指混合使用大小写字母来构成单词的名称(适用于两个不同的单词链接如:rightContent)[用于js中]

下划线命名法:两个单词间用”_”相连,如 menu_title(适用于上下级关系,可以准确表示两个单词间的层级关系。)[用于css或js中]

2.文件命名规范

Html、css、js、images 文件命名:全英文小写命名。

3.Html 书写规范

声明类型统一<!DOCTYPE html> ,新开发框架在html上方引入common.jsp

标签和属性一律小写,属性值用双引号包括

给区块代码加上注释, 方便后台添加功能

                        <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
                        <%@ include file="/WEB-INF/jsp/common/common.jsp"%>
                        <html>
                        <head>
                            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
                            <title>title</title>
                        </head>
                        <body>
                               <div id="layout" class="comp" comp="type:'layout'">
                                <div class="layout_north bg_color" id="north">
                                    <%-- 如果是业务生成器创建的一个列表菜单,则不显示面包屑 --%>
                                    <c:if test="${param.srcFrom ne 'bizconfig' }">
                                        <div class="comp" comp="type:'breadcrumb',comptype:'location',code:'F01_listDone'"></div>
                                    </c:if>
                                    <div id="toolbars"></div>
                                </div>
                                <div class="layout_center over_hidden" id="center">
                                    
                                </div>
                            </div>
                        </body>
                        </html>

                        

4.js书写规范

在变量定义的上一行用双斜杠(//)注释,注释单占一行

在方法头部详细说明该方法的功能,以及所传参数的意义

js书写规范参考java规范注意换行和分号

                        //显示部门,默认是
                        var displayDepartment = true; 
                        //显示组,默认是 
                        var displayTeam = true; 
                        //显示职务,默认否 
                        var displayOtype = false; 


                        /**
                        * 普通选人的对话框1
                        * 参数分别为 相对根目录路径,初始化要显示的人员,是否多选
                        * @param path1 路径
                        * @param initPerson1 初始化显示人员
                        * @param mutiple1 是否多选
                        */
                        function selectPerson1(path1,initPerson1,mutiple1){
                        	path = path1;
                        	initPerson = initPerson1;
                        	mutiple = mutiple1;
                        	return showSimpleDialog();
                        }