在javascript中传入波浪路径以获得相对路径的正确方法是什么?

What's the correct way to pass in tilde path in javascript in order to get the relative path?

本文关键字:路径 相对 是什么 方法 javascript      更新时间:2023-09-26

我有一个波浪形路径。我想把它转换成客户端url

    var path = "~/Presentation/Resources/Images/masterPage/cleanup.png";
    var a =  '<%=Page.ResolveClientUrl(" '+path+' ") %>';
    var b = '<%=ResolveUrl("~/Presentation/Resources/Images/masterPage/cleanup.png") %>';
alert("var a-->"+a);
alert("var b-->"+b);

虽然上面的代码看起来是一样的,但是我对var a和var b得到的结果是非常不同的。

结果

var a --> ~/Presentation/Resources/Images/masterPage/cleanup.png
var b --> ../../Resources/Images/masterPage/cleanup.png

我有一个存储路径的变量,但是我没有得到与var b完全相同的结果。我可以为var a做些什么,这样我就可以得到像var b这样的结果?

你调用的方法,ResolveClientUrl和ResolveUrl,是不同的。ResolveClientUrl告诉你相对于你所在页面的URL;ResolveUrl告诉你相对于站点根的URL。您可以在http://www.andornot.com/blog/post/ResolveUrl-vs-ResolveClientUrl.aspx

找到更详细的说明。