common.js 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. // 对Date的扩展,将 Date 转化为指定格式的String
  2. // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
  3. // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
  4. // 例子:
  5. // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
  6. // (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
  7. Date.prototype.Format = function (fmt) { //author: meizz
  8. var o = {
  9. "M+": this.getMonth() + 1, //月份
  10. "d+": this.getDate(), //日
  11. "h+": this.getHours(), //小时
  12. "m+": this.getMinutes(), //分
  13. "s+": this.getSeconds(), //秒
  14. "q+": Math.floor((this.getMonth() + 3) / 3), //季度
  15. "S": this.getMilliseconds() //毫秒
  16. };
  17. if (/(y+)/.test(fmt))
  18. fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
  19. for (var k in o)
  20. if (new RegExp("(" + k + ")").test(fmt))
  21. fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
  22. return fmt;
  23. };
  24. function _COMMON() {
  25. var common = {
  26. request: function (d) {
  27. for (var c = location.search.slice(1).split("&"), a = 0; a < c.length; a++) {
  28. var b = c[a].split("=");
  29. if (b[0] === d)
  30. if ("undefined" === decodeURIComponent(b[1]))
  31. break;
  32. else return decodeURIComponent(b[1]);
  33. }
  34. return "";
  35. },
  36. isMobile: function () {
  37. var userAgentInfo = navigator.userAgent;
  38. var Agents = ["Android", "iPhone",
  39. "SymbianOS", "Windows Phone",
  40. "iPad", "iPod"];
  41. var flag = false;
  42. for (var v = 0; v < Agents.length; v++) {
  43. if (userAgentInfo.indexOf(Agents[v]) > 0) {
  44. flag = true;
  45. break;
  46. }
  47. }
  48. return flag;
  49. },
  50. ajax: function () {
  51. var ajaxData = {
  52. type: arguments[0].type || "GET",
  53. url: arguments[0].url || "",
  54. async: arguments[0].async || true,
  55. data: arguments[0].data || null,
  56. dataType: arguments[0].dataType || "text",
  57. contentType: arguments[0].contentType || "application/x-www-form-urlencoded",
  58. beforeSend: arguments[0].beforeSend || function () { },
  59. success: arguments[0].success || function () { },
  60. error: arguments[0].error || function () { }
  61. };
  62. ajaxData.beforeSend();
  63. var xhr = createxmlHttpRequest();
  64. xhr.responseType = ajaxData.dataType;
  65. var data = convertData(ajaxData.data);
  66. if (ajaxData.type.toLowerCase() === 'get') {
  67. ajaxData.url = ajaxData.url + (ajaxData.url.indexOf('?') > 0 ? '&' : '?') + (data || '');
  68. data = null;
  69. }
  70. xhr.open(ajaxData.type, ajaxData.url, ajaxData.async);
  71. xhr.setRequestHeader("Content-Type", ajaxData.contentType);
  72. xhr.send(data);
  73. xhr.onreadystatechange = function () {
  74. if (xhr.readyState === 4) {
  75. if (xhr.status === 200) {
  76. ajaxData.success(xhr.response);
  77. } else {
  78. ajaxData.error();
  79. }
  80. }
  81. };
  82. },
  83. getFileSize: function (fileByte) {
  84. var fileSizeByte = fileByte;
  85. var fileSizeMsg = "";
  86. if (fileSizeByte < 1048576) fileSizeMsg = (fileSizeByte / 1024).toFixed(2) + "KB";
  87. else if (fileSizeByte == 1048576) fileSizeMsg = "1MB";
  88. else if (fileSizeByte > 1048576 && fileSizeByte < 1073741824) fileSizeMsg = (fileSizeByte / (1024 * 1024)).toFixed(2) + "MB";
  89. else if (fileSizeByte > 1048576 && fileSizeByte == 1073741824) fileSizeMsg = "1GB";
  90. else if (fileSizeByte > 1073741824 && fileSizeByte < 1099511627776) fileSizeMsg = (fileSizeByte / (1024 * 1024 * 1024)).toFixed(2) + "GB";
  91. else fileSizeMsg = "文件超过1TB";
  92. return fileSizeMsg;
  93. }
  94. };
  95. function createxmlHttpRequest() {
  96. if (window.ActiveXObject) {
  97. return new ActiveXObject("Microsoft.XMLHTTP");
  98. } else if (window.XMLHttpRequest) {
  99. return new XMLHttpRequest();
  100. }
  101. }
  102. function convertData(data) {
  103. if (typeof data === 'object') {
  104. var convertResult = "";
  105. for (var c in data) {
  106. convertResult += c + "=" + data[c] + "&";
  107. }
  108. convertResult = convertResult.substring(0, convertResult.length - 1);
  109. return convertResult;
  110. } else {
  111. return data;
  112. }
  113. }
  114. return common;
  115. }