Die Einführung hier sind im Wesentlichen zwei Methoden, indem ein DOM erstellt oder über JavaScript berechnet wird:
1) Durch das neu erstellte Bild wird nach dem Testen eine abgebrochene Anfrage gesendet, und IE6 unterstützt es nicht. ;
Die Codekopie lautet wie folgt:
Funktion getAbSoluteurl (URL) {
var img = new Image ();
img.src = url;
url = img.src; // zu diesem Zeitpunkt ist der relative Weg ein absoluter Weg geworden
img.src = null;
Return URL;
}
getAbsoluteurl ("Showroom/Liste");
2) Erstellen Sie einen Anker (Link).
Die Codekopie lautet wie folgt:
/ *JSlint Regexp: True, White: TRUE, Maxerr: 50, Einzug: 2 */
Funktion parseuri (url) {
var m = string (url) .replace (/^/s+|/s+$/g, '') .match (/^([^: //?#]+:)? (//// (?: [^:@]*(? :: [^:@]*)?@)? ([^: //?#]*) (? :: (/d*))?))? ([^ ?#]*) (/? [^#]*)? (#[/s/s]*)?/);
// Authority = '//' + Benutzer + ':' + Pass '@' + Hostname + ':' Port
return (m? {
href: m [0] || '',
Protokoll: M [1] || '',
Autorität: M [2] ||.
Host: M [3] || '',
Hostname: M [4] || '',
Port: M [5] || '',
Pfadname: M [6] || '',
Suche: M [7] || '',
Hash: M [8] || ''
}: null);
}
Funktion Absoluteuri (Basis, href) {// RFC 3986
Funktion Remedotsegmente (Eingabe) {
var output = [];
input.replace (/^(//.?(// | $))+/, '')
.Replace (///(/// | $))+/g, '/')
.Replace (////./.$/, '/../')
.Replace (///? [^//]*/g, Funktion (p) {
if (p === '/..') {
output.pop ();
} anders {
output.push (p);
}
});
return output.join (''). Ersetzen (/^///, input.charat (0) === '/'? '/': '');
}
href = parseuri (href || '');
Base = Parseuri (Basis || '');
Rückkehr! HREF ||.
(href.protocol || href.authority? href.authority: base.authority) +
entfernte (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.hash;
}
Da unsere Produkte mobile Webseiten sind, unterstützen sie IE6 nicht mehr und die zweite Lösung wird schließlich verwendet.
Es ist zu erkennen, dass Sie bei der Zugriff auf alle Bild- und Anker mit der ursprünglichen Methode die zurückgegebenen absoluten Pfade sind. jQuery.attr () Methode:
Die Codekopie lautet wie folgt:
// Zurück den absoluten Pfad, das JQuery -Objekt ist im Wesentlichen eine "Klassenarray" -Struktur (ähnlich wie Argumente), sodass Sie [0] verwenden können, um auf das ursprüngliche Objekt zuzugreifen und dann "href" zu nehmen.
console.log ($ anchor [0] ["href"]);
// kehre zum ursprünglichen Pfad zurück
console.log ($ anchor.attr ("href"));