LABjsのソースコードを見ていると、相対アドレスを絶対アドレスに変換する関数があったので、
function canonical_uri(src,base_path)
{
var root_page = /^[^?#]*//。 exec(location .href)[0]、
root_domain = /^w :///?[^/] /.exec(root_page)[0]、
absolute_regex = /^w :///;
// `src` はプロトコル相対 (// または /// で始まる)、プロトコルを先頭に追加します
if (/^///?/.test(src))
{
src = location.protocol src;
}
// `src` はページ相対ですか (/ で始まる絶対 URL ではなく、ドメイン相対パスでもありません)
else if (!Absolute_regex.test(src) && src.charAt(0) != "/")
{
// `base_path` を先頭に追加します (存在する場合)
src = (base_path || "") src;
}
// `src` を絶対として返します。
returnAbsolute_regex.test(src) ? src : ((src.charAt(0) == "/" ? root_domain : root_page ) src);
}
現在のページアドレスが http://www.inspurstb.com/hzt/index.html の場合
then canonical_uri("scy .js") http://www.inspurstb.com/hzt/scy.js に戻ります
JavaScript を使用して相対パス アドレスを絶対パスに変換します 1) イメージを使用します。テスト後、中止されたリクエストが送信されます。IE6 では、新しいイメージを document.createElement_x_x_x('IMG') に変更することは同じです。
function getAbsoluteUrl(url){
var img = new Image();
img.src = url; // 画像への相対パスを設定するとリクエストが送信されます
url = img.src;絶対パス
img.src = null; // リクエストをキャンセルします
return url;
getAbsoluteUrl("showroom/list");
2)アンカー (リンク)、リクエストは行われません。DOM に参加する場合のみリクエストが生成されますが、IE6 は
function getAbsoluteUrl(url ){
var a = document.createElement_x_x_x('A'); // Set画像への相対パス。リクエストが送信されます。
url = a.href; // この時点で、相対パスは絶対パスになります。
return url;
getAbsoluteUrl(" showroom/list");
3) JavaScript の使用: 実装はより複雑ですが、ここに例を示します: https://gist.github.com/1088850
最後に、オプション 2 が使用されます。
これは変数であり、すべての画像は元のメソッドを使用してアクセスされます。元の相対パスを返したい場合は、アンカーを使用します。 jQuery の .attr() メソッドなどの DOM クエリ メソッド:
console.log($anchor[ 0]["href"]); //jQuery オブジェクトは基本的に配列です。 1 つしかない場合は、[0] を使用して元のオブジェクトにアクセスし、次に "href";
console .log($anchor.attr("href")); // 元のパスに戻ります。 🎜>