utils.js
2.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
define("utils", ["zepto"], function() {
var alaways = function() { return true; }
var type = function (type) {
return function (o) {
return {}.toString.call(o) == "[object " + type + "]";
};
};
var isString = type("String");
var isObject = type("Object");
var historyLen = 0;
return {
ajax: function(mode, settings, success, fail) {
if (isObject(mode)) {
fail = success;
success = settings;
settings = mode;
mode = "com.api.mobilemode.web.mobile.portal.PortalAction";
}
var url = settings.url;
if(!url) {
url = "/mobilemode/mobile/server.jsp?invoker=" + mode + "&action=" + settings.action;
}
settings.url = url;
settings.cache = false;
settings.dataType = "json" || settings.dataType;
success = success || alaways;
fail = fail || alaways;
return $.ajax(settings).done(function(res) {
if(res.status == "1") {
return success(res);
}else if(res.status == "0"){
alert("Server interface error:" + res.errMsg);
}else{
alert("Server connection exception:"+JSON.stringify(res));
}
fail();
});
},
strToJson: function(str, sep, symbol) {
var arr = str.split(sep), o = {};
var key, value;
if(!arr.length) return o;
arr.forEach(function(t) {
var syms = t.split(symbol);
if(syms.length === 1) return;
key = syms[0];
value = syms[1];
o[key] = value;
});
return o;
},
showBackBtn: function (back) {
// 在ios中的e-mobile环境中 需要调用e-mobile接口来显示返回按钮
if (!!navigator.userAgent.match(/e-mobile/i) && !!navigator.userAgent.match(/iPhone|ipad/i)) {
historyLen += (back ? -1 : 1);
if (historyLen === 1 && back) {
location = "emobile:backBtnHide";
} else if (historyLen === 2 && !back) {
location = "emobile:backBtnShow";
}
}
},
toggleTab: function (el) {
var $tab = $(el.target && this || el), // el.target 事件
$panel = $(".tab-panel[data-rel=" + $tab.data("tab") + "]");
var _toggle = function ($el) {
$el.addClass("active").siblings(".active").removeClass("active");
};
_toggle($tab);
_toggle($panel);
}
};
});