基本模板
页面基本结构,保障产品组件正常显示
<!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();
}