分享一些项目中常用的工具方法 ,此代码适用于jQuery项目
(function($){
//备份jquery的ajax方法
var _ajax=$.ajax;
//重写jquery的ajax方法
$.ajax=function(opt){
//备份opt中error和success方法
var fn = {
error:function(XMLHttpRequest, textStatus, errorThrown){},
success:function(data, textStatus){}
}
if(opt.error){
fn.error=opt.error;
}
if(opt.success){
fn.success=opt.success;
}
//扩展增强处理
var _opt = $.extend(opt,{
error:function(XMLHttpRequest, textStatus, errorThrown){
//错误方法增强处理
fn.error(XMLHttpRequest, textStatus, errorThrown);
},
success:function(data, textStatus,xhr){
if(data.err != null && data.err != '' && data.err != undefined){
if(data.err=='Login information error'){
alert("您的账号已经过期或者失效!");
window.location.href="loginFilter.html";
return false;
}else if(data.err=='Account has been forced offline'){
alert("您的账号异地登录,被迫强制下线!");
$.cookie("token",null);
window.location.href="loginFilter.html";
return false;
}
}
//成功回调方法增强处理
fn.success(data, textStatus);
}
});
return _ajax(_opt);
};
})(jQuery);
JavaScript
function getDateTostr(time){
var timestamp =time;
var d = new Date(timestamp * 1000); //根据时间戳生成的时间对象
var date = (d.getFullYear()) + "-" +
(d.getMonth() + 1) + "-" +
(d.getDate()) + " " +
(d.getHours()) + ":" +
(d.getMinutes()) + ":" +
(d.getSeconds());
return date;
}
//给小于10的日期加上 0
function getNowFormatDate() {
var date = new Date();
var seperator1 = "-";
var seperator2 = ":";
var month = date.getMonth() + 1;
var strDate = date.getDate();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (strDate >= 0 && strDate <= 9) {
strDate = "0" + strDate;
}
var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
+ " " + date.getHours() + seperator2 + date.getMinutes()
+ seperator2 + date.getSeconds();
return currentdate;
}
//统一的get请求方式
function getUrl(url){
var reslut="";
$.ajax({
url:url,
type: "get",
async: false,
data:"",
dataType: "html",
success: function(html) {
reslut= html;
},
error: function(){alert('Error');}
});
return reslut;
}
//数据请求的POST统一方式
function commAjaxPost(url,json){
var reslut;
$.ajax({
url:url,
type: "post",
async: false,
data:"data="+JSON.stringify(json),
dataType: "json",
success: function(json) {
reslut=json;
},
error: function(){
}
});
return reslut;
}
//数据请求的统一方式
function commPointAjaxPost(url,key,val){
var json=urlObj.getJson();
json[key]=val;
var reslut;
$.ajax({
url:url,
type: "post",
async: false,
data:"data="+JSON.stringify(json),
dataType: "json",
success: function(json) {
reslut=json;
},
error: function(){
}
});
return reslut;
}
//表单提交 共有方法
function commFromAjax(url,json){
if(!hklfromTest()){
return false;
}
var subJson = {};
if(json!=null&&json!=''&&json!=undefined){
subJson=json;
}
var reslut=0;
$("[form_sub]").each(function () {
var str=$(this).attr("form_sub");
subJson[str]=$(this).val();
});
subJson['token']=JSON.parse($.cookie("token"));
$.ajax({
url:url,
type: "post",
async: false,
data:"data="+JSON.stringify(subJson),
dataType: "json",
success: function(json) {
reslut=json.result;
},
error: function(){
reslut=0;
}
});
return reslut;
}
//普通图片判断 空图验证
function getImgUrl(url) {
var resuleImg="";
$.ajax({
url: url,
type: 'GET',
async: false,
complete: function(response) {
if(response.status == 200) {
resuleImg=url;
} else {
resuleImg='/img/avatars/avatar3.jpg';
}
}
});
return resuleImg;
}
//根据两个日期 计算天数时间差值 格式: 2017-05-06
function DateDiff(sDate1, sDate2){ //sDate1和sDate2是2006-12-18格式
if(sDate1 == undefined || sDate1 == null || sDate1 == ''){
return null;
}
if(sDate2 == undefined || sDate2 == null || sDate2 == ''){
return null;
}
var aDate, oDate1, oDate2, iDays
aDate = sDate1.split("-")
oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]) //转换为12-18-2006格式
aDate = sDate2.split("-")
oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0])
iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 /24) //把相差的毫秒数转换为天数
iDays = iDays==0?1:iDays;
return iDays;
}
JavaScript
/***f5&&Ctrl+r刷新事件监听***/
window.onkeydown = function(e) { //键盘按键控制
//鼠标相对于用户屏幕的水平位置 - 窗口左上角相对于屏幕左上角的水平位置 = 鼠标在当前窗口上的水平位置
var n = window.event.screenX - window.screenLeft;
//鼠标在当前窗口内时,n<m,b为false;鼠标在当前窗口外时,n>m,b为true。20这个值是指关闭按钮的宽度
var b = n > document.documentElement.scrollWidth - 20;
e = e || window.event;
if((e.ctrlKey && e.keyCode == 82) || e.keyCode == 116 || b && window.event.clientY < 0) { //F5刷新,禁止 //ctrl+R
//利用对话框返回的值 (true 或者 false)
if(confirm("您确定刷新网页吗?这将会重新加载网站,您已提交的表单数据也可能会被重新提交!")) {
window.location.reload(); //刷新网页
// alert("确定刷新");
} else {
return null;
// alert("取消刷新");
}
}
}