在浏览器地址栏中显示网址的网站:www.something.com/abc/def/ghi
。
当您查看任何网站的源代码时,定位标记具有相对的href,例如href="../jkl/mno"
当您单击链接时,浏览器如何确定它必须加载www.something.com/abc/jkl/mno
?
例如:浏览https://alibabagroup.com/en/global/home->展开投资者关系->检查任何链接的来源。例如a href="../ir/home"
->单击链接->浏览器通过替换"global/home"
部分来将其解析为“ https://www.alibabagroup.com/en/ir/home”
此外,如果有人知道如何在C Sharp中以编程方式实现此目标,那将是一个很大的帮助?一些功能如下:
string ToAbsoluteUrl("https://alibabagroup.com/en/global/home", "../ir/home")
{
// Outputs as "https://alibabagroup.com/en/ir/home"
}
答案 0 :(得分:1)
string ToAbsoluteUrl(params string[] pathParts)
{
return new Uri(Path.Combine(pathParts)).ToString();
}
以这种方式使用它:
ToAbsoluteUrl("https://alibabagroup.com/en/global/home", "../ir/home");
答案 1 :(得分:0)
这可以通过遵循question here来实现:
static string ToAbsoluteUrl(string a, string b)
{
return new Uri(new Uri(a), b).ToString();
}