对于我的前端模块,我希望能够直接在浏览中加载它们。所以我需要我的基本标签来识别主目录,但事实并非如此。有没有办法在路径中指定主目录。
下面不起作用,因为未解释波浪号。
<base href="~/root/web/source/" target="_blank">
如果我使用
<base href="/web/source/" target="_blank">
它适用于服务器但不适用于我的客户端,因为对前导/
(根)有不同的评估。
类似的结果:
<base href="web/source/" target="_blank">
奇怪的是,服务器将前面的正斜杠解释为与前面的正斜杠相同。
客户将相对路径解释为:
/Users/a/root/web/source/htm
服务器将相对路径解释为(public_html目录)
/root
非常不同。
答案 0 :(得分:0)
在路径的开头使用./
的替代方法(正如我所解释的那样,将解释相对于当前位置的相对路径,而省略该点将解释相对于路径的路径基本URL)将使用一些javascript根据提供的子字符串确定正确的路径:
// will set the <base> path automatically
// as whatever path ""web/source/" is located in
(function(relativePath){
var baseElement = document.getElementsByTagName("base")[0];
var url = ""+window.location;
var basepath = url.substr(0, url.indexOf(relativePath));
baseElement.href = basepath+relativePath;
})("web/source/");
显然,需要使用脚本标记。