A introdução aqui são essencialmente dois métodos, criando um DOM ou computação através do JavaScript:
1) Através da imagem recém -criada, uma solicitação abortada será enviada após o teste e o IE6 não a suporta. ;
A cópia do código é a seguinte:
função getabsoluteurl (url) {
var iMg = new Image ();
img.src = url;
url = img.src;
img.src = null;
Retornar URL;
}
getAbsoluteurl ("Showroom/List");
2) Crie uma âncora (link).
A cópia do código é a seguinte:
/ *JSLINT REGEXP: TRUE, BRANCO: TRUE, MAXERR: 50, REDENT: 2 */
função parseuri (url) {
var m = string (url) .place (/^/s+|/s+$/g, '') .match (/^([^: //?#]+:) (//// (?: [^:@]*(? :: [^:@]*)?@)? (([^: //?#]*) (? :: (/d*))?))? ([^ ?#]*) (/? [^#]*)? (#[/s/s]*)?/);
// autoridade = '//' + user + ':' + pass '@' + hostName + ':' porta
retornar (m? {
href: m [0] || '',
Protocolo: M [1] || '',
Autoridade: M [2] ||.
Host: M [3] || '',
Nome do host: m [4] || '',
Porto: M [5] || '',
Nome do caminho: m [6] || '',
Pesquisa: M [7] || '',
Hash: m [8] || ''
} : nulo);
}
função absolutamenteuri (base, href) {// rfc 3986
função removedotSegments (entrada) {
var output = [];
input.replace (/^(/./.?(// | $))+/, '')
.place (///(/.(// | $))+/g, '/')
.place (////./.$/, '/../')
.place (///? [^//]*/g, função (p) {
if (p === '/..') {
output.pop ();
} outro {
output.push (P);
}
});
Retornar saída.Join (''). Substitua (/^///, input.Charat (0) === '/'? '/': '');
}
href = parseuri (href || '');
base = parseuri (base || '');
Retornar! Href ||.
(href.protocol || href.authority? href.authority: base.authority) +
RemovedotSegments (href.protocol || href.authority || href.pathname.charat (0) === '/'? ':' ') + base.pathname.slice (0, base.athname.LastIndexOf ('/') + 1) + href.pathname): base.pathname)) +
(href.protocol || href.authority || href.pathname? href.search: (href.search || base.search)) +
href.hash;
}
Como nossos produtos são páginas da Web móveis, eles não suportam mais o IE6 e a segunda solução é finalmente usada;
Pode -se observar que, ao acessar todas as imagens e âncoras usando o método original, os caminhos absolutos retornados são todos. Método jQuery.attr ():
A cópia do código é a seguinte:
// retorna o caminho absoluto, o objeto jQuery é essencialmente uma estrutura de "matriz de classe" (semelhante aos argumentos), para que você possa usar [0] para acessar o objeto original e depois tomar "href";
console.log ($ anchor [0] ["href"]);
// retorna ao caminho original
console.log ($ anchor.attr ("href"));