设置<base href="/a/">
会使<a href="/b">
解析为/a/b
。很好。
但是,如果我有一个HTML文件/a/b/x.html
,并且我想引用/a/b/y.html
,那么似乎唯一的方法是<a href="/b/y.html">
。
通常(不设置<base>
),我可以使用./y.html
甚至仅使用y.html
来引用当前目录中的文件。但是在设置<base>
的情况下,./
不会解析到当前目录,而是解析到<base>
中指定的目录。
一个更复杂的示例:
a
└─b
└─c
└─d
|──x.html
└──y.html
如果我在x.html
中并且base
设置为/a/
,那么如何在不编写y.html
和{{1之间的所有内容的情况下}}?有没有办法忽略b
标签来引用当前目录?
答案 0 :(得分:0)
当然,但并非没有一些JavaScript hack:)
在x.html
上添加
<a href="javascript:;" onclick="document.location.replace(document.location.href.split('/').slice(0, -1).join('/')+'/y.html');">Go to Y</a>