L'introduction ici est essentiellement deux méthodes, en créant un DOM ou en informatique via JavaScript:
1) Grâce à l'image nouvellement créée, une demande abandonnée sera envoyée après le test, et IE6 ne le prend en charge. ;
La copie de code est la suivante:
fonction getAbsoluluteUrl (url) {
var img = new image ();
IMG.SRC = URL;
url = img.src;
img.src = null; // annuler la demande
URL de retour;
}
getAbsoluteUrl ("Showroom / List");
2) Créer une ancre (lien).
La copie de code est la suivante:
/ * jslint regexp: true, blanc: true, maxerr: 50, indent: 2 * /
fonction parseUri (url) {
var m = string (url) .replace (/ ^ / s + | / s + $ / g, '') .match (/ ^ ([^: //? #] +:)? (//// (?: [^: @] * (? :: [^: @] *)? @)? (([^: //? #] *) (? :: (/ d *))?))? ([^ ? #] *) (/? [^ #] *)? (# [/ s / s] *)? /);
// autorité = '//' + utilisateur + ':' + pass '@' + hostname + ':' port
return (m? {
href: m [0] ||
protocole: m [1] ||
Autorité: m [2] || '',
hôte: m [3] || '',
nom d'hôte: m [4] ||
port: m [5] || '',
PathName: m [6] ||
Recherche: m [7] || '',
Hash: M [8] ||
} : nul);
}
fonction absoluuri (base, href) {// rfc 3986
fonction supprime lesvères (entrée) {
Var Output = [];
input.replace (/^(/./.?(// | $)) + /, '')
.replace (///(/.(// | $)) + / g, '/')
.replace (////./.$/, '/../')
.replace (///? [^ //] * / g, fonction (p) {
if (p === '/ ..') {
output.pop ();
} autre {
Output.push (P);
}
});
return output.join (''). remplacer (/ ^ ///, input.charat (0) === '/'? '/': '');
}
href = parseUri (href || '');
base = paseuri (base || '');
Retour! Href ||! Base?
(href.protocol || href.authority? href.authority: base.authority) +
RemovedOtSegments (href.protoCol || href.authority || href.pathname.charat (0) === '/'? href.pathname: (href.pathname? ((base.authority &&! Base.p athname? '/ ':' ') + 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;
}
Parce que nos produits sont des pages Web mobiles, ils ne prennent plus en charge IE6 et la deuxième solution est finalement utilisée;
On peut voir que lors de l'accès à toutes les images et aux ancres en utilisant la méthode d'origine, les chemins absolus retournés sont tous. JQUERY.ATTR () Méthode:
La copie de code est la suivante:
// Renvoie le chemin absolu, l'objet jQuery est essentiellement une structure "Array de classe" (similaire aux arguments), afin que vous puissiez utiliser [0] pour accéder à l'objet d'origine, puis prendre "href";
console.log ($ anchor [0] ["href"]);
// retourner sur le chemin d'origine
console.log ($ anchor.attr ("href"));