Pot.URI.resolveRelativeURI

{String} Pot.URI.resolveRelativeURI ({String} uri [, {Object} context])

Pot.js で利用可能。 PotLite.js では利用できません。

相対パスを解決します。

相対パスなどの '.' や '../' を解決した URI 文字列に変換します。
引数 context が指定されると、それを基準に修正します (e.g., document)。

Pot.globalize() が適応されている場合、Pot.resolveRelativeURI() が resolveRelativeURI() で実行できます。

相対パスが解決された URI 文字列が返ります。

var uri = 'C:/path/to/foo/bar/../hoge.ext';
var result = Pot.resolveRelativeURI(uri);
Pot.debug(result);
// 'C:/path/to/foo/hoge.ext'
var uri = 'C:/path/to/../../hoge.ext';
var result = Pot.resolveRelativeURI(uri);
Pot.debug(result);
// 'C:/hoge.ext'
var uri = 'C:/path/to/../../../../././../../hoge.ext';
var result = Pot.resolveRelativeURI(uri);
Pot.debug(result);
// 'C:/hoge.ext'
var uri = '/////path/to/////hoge.ext';
var context = document;
var result = Pot.resolveRelativeURI(uri, context);
Pot.debug(result);
// e.g., 'http://www.example.com/path/to/hoge.ext'
var uri = './hoge.png';
var context = document.getElementById('image1');
var result = Pot.resolveRelativeURI(uri, context);
Pot.debug(result);
// e.g., 'http://www.example.com/dir1/dir2/hoge.png'
var uri = '/usr/local/bin/../././hoge.ext';
var result = Pot.resolveRelativeURI(uri);
Pot.debug(result);
// '/usr/local/hoge.ext'