La introducción aquí es esencialmente dos métodos, creando un DOM o computación a través de JavaScript:
1) A través de la imagen recién creada, se enviará una solicitud abortada después de la prueba, y IE6 no lo admite. ;
La copia del código es la siguiente:
función getabsoluteurl (url) {
var img = nueva imagen ();
img.src = url;
url = img.src;
img.src = nulo;
URL de retorno;
}
getAbSoluteUrl ("Showroom/List");
2) Crear un ancla (enlace).
La copia del código es la siguiente:
/ *jslint regexp: verdadero, blanco: verdadero, maxerr: 50, sangría: 2 */
función parseuri (url) {
var m = string (url) .replace (/^/s+|/s+$/g, '') .match (/^([^: //?#]+:)? (//// (?: [^:@]*(? :: [^:@]*)?@)? (([^: //?#]*) (? :: (/d*))?))? ([^ ?#]*) (/? [^#]*)? (#[/s/s]*)?/);
// autoridad = '//' + user + ':' + pass '@' + hostname + ':' puerto
return (m? {
href: m [0] ||
Protocolo: M [1] ||,
Autoridad: M [2] ||,
Anfitrión: M [3] ||,
nombre de host: m [4] ||,
Puerto: M [5] ||,
RathName: M [6] ||,
Búsqueda: M [7] ||,
hash: m [8] ||
} : nulo);
}
función absolutauri (base, href) {// rfc 3986
función eliminaToTSegments (entrada) {
varilla var = [];
input.replace (/^(/./.?(// | $))+/, '')
.replace (///(/.(// | $))+/g, '/')
.replace (///./.$/, '/../')
.replace (///? [^//]*/g, función (p) {
if (p === '/..') {
output.pop ();
} demás {
output.push (p);
}
});
return output.Join (''). Reemplazar (/^///, input.charat (0) === '/'? '/': '');
}
href = parseuri (href || '');
base = parseuri (base || '');
Return! Href ||! Base?
(href.protocol || href.authority? href.authority: base.authority) +
eliminatSegments (href.protocol || href.authority || href.pathname.charat (0) === '/'? ':' ') + base.pathname.slice (0, base.pathname.lastindexof ('/') + 1) + href.pathname): base.pathname)) +
(href.protocol || href.authority || href.pathname? href.search: (href.search || base.search)) +
href.hash;
}
Debido a que nuestros productos son páginas web móviles, ya no admiten IE6, y la segunda solución finalmente se usa;
Se puede ver que al acceder a todas las imágenes y anclajes utilizando el método original, las rutas absolutas devueltas son todas. método jquery.attr ():
La copia del código es la siguiente:
// Devuelve la ruta absoluta, el objeto jQuery es esencialmente una estructura de "matriz de clases" (similar a los argumentos), por lo que puede usar [0] para acceder al objeto original y luego tomar "href";
console.log ($ ancla [0] ["href"]);
// Vuelve a la ruta original
console.log ($ fallor.attr ("href"));