如何指定基本标签的主目录?

时间:2016-05-05 16:53:28

标签: html

对于我的前端模块,我希望能够直接在浏览中加载它们。所以我需要我的基本标签来识别主目录,但事实并非如此。有没有办法在路径中指定主目录。

下面不起作用,因为未解释波浪号。

<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

非常不同。

1 个答案:

答案 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/");

显然,需要使用脚本标记。