12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- 'use strict';
- import utils from './../utils.js';
- import platform from '../platform/index.js';
- export default platform.hasStandardBrowserEnv ?
- (function standardBrowserEnv() {
- const msie = /(msie|trident)/i.test(navigator.userAgent);
- const urlParsingNode = document.createElement('a');
- let originURL;
-
- function resolveURL(url) {
- let href = url;
- if (msie) {
-
- urlParsingNode.setAttribute('href', href);
- href = urlParsingNode.href;
- }
- urlParsingNode.setAttribute('href', href);
-
- return {
- href: urlParsingNode.href,
- protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',
- host: urlParsingNode.host,
- search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '',
- hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',
- hostname: urlParsingNode.hostname,
- port: urlParsingNode.port,
- pathname: (urlParsingNode.pathname.charAt(0) === '/') ?
- urlParsingNode.pathname :
- '/' + urlParsingNode.pathname
- };
- }
- originURL = resolveURL(window.location.href);
-
- return function isURLSameOrigin(requestURL) {
- const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;
- return (parsed.protocol === originURL.protocol &&
- parsed.host === originURL.host);
- };
- })() :
-
- (function nonStandardBrowserEnv() {
- return function isURLSameOrigin() {
- return true;
- };
- })();
|