相対パスを絶対パスに変換するJavascript ITかあさん

ITかあさん

相対パスを絶対パスに変換するJavascript

相対パスを絶対パスに変換するJavascript

非常に簡単、シンプルな相対パスを絶対パスに変換する小技

function absolutePath(path){
var e = document.createElement('span');
e.innerHTML = '<a href="' + path + '" />';
return e.firstChild.href;
}

使う時は

absolutePath('contents/text.html');

とします。

実行結果

http://www.kaasan.info/contents/text.html

と、なるのです。

解説

このJavascriptで生成されるHTMLのイメージはこんなカンジ。

<span><a href="http://www.kaasan.info/contents/text.html">contents/text.html</a></span>

指定文字列をspanタグで囲い

document.createElement('span');

さらにaタグで囲う

e.innerHTML = '<a href="' + path + '" />';

spanで囲われた最初の子要素のhref属性の中身は何ですか?とたずねているわけですね。

return e.firstChild.href;

spanが気に入らなければ何のタグでもいいわけですね。
私も調べて知って、分かればなんてことないんですが 今後もけっこう便利に使えそうです。

初夏のJavaScript祭 in サーキュレーションビル ForPro