UNPKG

ttk-component

Version:

- 1、npm install ttk-component --save

81 lines (75 loc) 2.87 kB
import {SuperFetch} from '../SuperFetch'; export var Util = SuperFetch.Util = SuperFetch.Util || {}; /** * @description 判断一个对象是否是数组。 * @param a - {Object} 对象。 * @return {boolean} 是否是数组。 */ SuperFetch.Util.isArray = function (a) { return (Object.prototype.toString.call(a) === '[object Array]'); }; /** * @description 给url追加参数。 * @param url - {string} 待追加参数的url字符串。 * @param paramStr - {string} 待追加的参数。 * @return {string} The new url */ SuperFetch.Util.urlAppend = function (url, paramStr) { var newUrl = url; if (paramStr) { var parts = (url + " ").split(/[?&]/); newUrl += (parts.pop() === " " ? paramStr : parts.length ? "&" + paramStr : "?" + paramStr); } return newUrl; }; /** * @description 判断一个 URL 请求是否在当前域中。 * @param url - {string} URL 请求字符串。 * @return {boolean} URL请求是否在当前域中。 */ SuperFetch.Util.isInTheSameDomain = function (url) { if (!url) { return true; } var index = url.indexOf("//"); var documentUrl = document.location.toString(); var documentIndex = documentUrl.indexOf("//"); if (index === -1) { return true; } else { var protocol; var substring = protocol = url.substring(0, index); var documentSubString = documentUrl.substring(documentIndex + 2); documentIndex = documentSubString.indexOf("/"); var documentPortIndex = documentSubString.indexOf(":"); var documentDomainWithPort = documentSubString.substring(0, documentIndex); //var documentPort; var documentprotocol = document.location.protocol; if (documentPortIndex !== -1) { // documentPort = +documentSubString.substring(documentPortIndex, documentIndex); } else { documentDomainWithPort += ':' + (documentprotocol.toLowerCase() === 'http:' ? 80 : 443); } if (documentprotocol.toLowerCase() !== substring.toLowerCase()) { return false; } substring = url.substring(index + 2); var portIndex = substring.indexOf(":"); index = substring.indexOf("/"); var domainWithPort = substring.substring(0, index); var domain; if (portIndex !== -1) { domain = substring.substring(0, portIndex); } else { domain = substring.substring(0, index); domainWithPort += ':' + (protocol.toLowerCase() === 'http:' ? 80 : 443); } var documentDomain = document.domain; if (domain === documentDomain && domainWithPort === documentDomainWithPort) { return true; } } return false; };