整理项目中用到的javascript全局规则
来源:互联网 发布:java url decode函数 编辑:程序博客网 时间:2024/06/06 09:34
最近在项目中考虑如何让代码重用,发现有2种途径(注,目前项目中是用到自己写的func,还没使用mvc框架):
一种时抽取出公用的方法,利用对象字面量放到命名空间中。如,要添加一个打标签功能,因为所有的项目页面方法交互基本是相同的,只写一次,任何分类下的文件打标签时都可以调用此命名空间下的方法。如
var disk.addTags={};
var disk.addTags.removeTag = (function(){
//具体的js代码
});
然后在调用时就可以使用disk.addTags.removeTag()来调用函数执行。但是此种方法有一个局限,就是你列举的对象字面量方法一定要所有的开发人员都知道有这个方法,不然就需要浪费时间去查找。同时需要传递的参数也要规定好、封装好。所以前期的准备和使用中的文档一定要充足。
另外一种就是定义一些公用的方法,也就是本文要整理的全局规则。让使用者在不知不觉中就已经在调用此方法。
1、网站在执行请求的过程中,都会显示一个loading的模态窗口,在请求返回后,此模态窗口消失,显示更新后的内容。可以使用如下方法:
var util.ajax=(function(opts,cusOpts){$("#loadingDiv").css("display","block");return $.ajax(opts,true);}); $(document).ajaxStop(function () {$("#loadingDiv").css("display","none");});
这两个方法在ajax请求发起和结束时,展示和隐藏loadingDiv,你需要做的就是对loadingDiv进行样式处理了。
2、ajaxError的处理
$(document).ajaxError(function(e, jqXHR, ajaxSettings, thrownError){var str = jqXHR.responseText;//这里写入一些错误处理,jqXHR是返回值,如我们项目中的超时重新登录就是在这里控制的if(str == undefined){$("#loadingDiv").css("display","none");util.alert("系统异常");return false;}var index = str.indexOf('***这里要写上一些超时时server返回的信息**');if(index != -1){var url = str.substring(index+1);util.alert("长时间未操作,系统超时请重新登录!");parent.parent.location.href =url + "/login";}else{util.alert("程序异常,请联系管理员");} })
3、重写alert函数或者使用其他函数,来做错误提示,注意需要设计一个公用的样式
var alert=(function(message,iconType){
//这里是做了一个中英文的转义var outputmsg=message;var chineseoutputmsg = hashMap.Get(message);if(chineseoutputmsg != null ){ outputmsg = hashMap.Get(message);}if(outputmsg==null || outputmsg == ""){ outputmsg=message;}if(outputmsg == "系统超时请重新登录"){ location.href="/login";}if(outputmsg == null){ outputmsg = "异常错误";}
//这里控制是显示成功的提示还是失败 if(iconType==true){ $.scojs_message(outputmsg, $.scojs_message.TYPE_OK);}else{ $.scojs_message(outputmsg, $.scojs_message.TYPE_ERROR); } });
4、hashMap的封装使用
var hashMap = { Set : function(key,value){this[key] = value}, Get : function(key){return this[key]}, Contains : function(key){return this.Get(key) == null?false:true}, Remove : function(key){delete this[key]} };
hashMap.Set("success", "操作成功了^-^");//hashMap主要用于提示的替换,保存可能的结果较多时的操作。
暂时先写这些,整理过程中再补充
0 0
- 整理项目中用到的javascript全局规则
- 项目中用到的Android代码整理
- BMC项目中用到的python脚本整理
- 项目中用到的
- 收集和在项目中用到的javascript
- 项目中用到的开源库
- 项目中用到的工具
- 项目中用到的css
- 关于项目中用到的Linux的一些命令杂乱整理,方便后边使用和查找
- 工作中用到的Git命令整理
- 关于canvas中用到的函数整理
- 记录一个项目中用到的比较优秀的验证密码强度javascript
- 一些javascript中用到的一些技巧
- DRP中用到的JavaScript验证
- 项目管理中用到的图释
- 项目中用到的一个树控件
- AppFuse中用到的开源项目
- js一个项目中用到的脚本
- ubuntu下修改文件的权限
- Objective-C中的instancetype和id区别
- 以互联网思维做好客户端软件
- poj2499
- dede列表命名规则
- 整理项目中用到的javascript全局规则
- 获取文件的MD5码
- Scrollbarstyle属性的设置对scrollbar位置的影响
- 关于DES算法的一些入门
- vs2010编译c++程序出现的错误(LINK fatal error LNK1123)
- HDU 1253 胜利大逃亡 三维BFS
- UVa-673-Parentheses Balance
- 面试逻辑思维 参考答案(二)
- LeetCode | Triangle(三角形路径和)