我想使用Javascript打开位于子文件夹中的HTML页面,但继续拥有相对于我的顶级文件的路径。我有下面的代码,HTML链接在页面更改之前有效但之后没有,因为所有内容都相对于子页面。如果我在更改页面后点击链接,它会尝试打开“myFolder / myPage.html”#39;当然不存在:
.. in HTML
<a href="myPage.html">My Page Link</a>
.. in javascript
var pageInFolder = 'myFolder/mySubPage.html';
window.location.href = pageInFolder;
我可以将我的链接更改为具有绝对路径,但有没有办法在文件夹中显示该页面,但是保持路径在我的顶层不变?
答案 0 :(得分:3)
您可以使用HTML <base>
标记。它允许您定义路径相对的位置。
像:
<base href="http://www.example.com">
建议您将基本标记作为<head>
中的第一个标记,以便文件中的所有路径都显示在其后面。在我的示例中,即使您在myFolder中,任何相对路径都会引用http://www.example.com/myPage.html,而不是http://www.example.com/myFolder/myPage.html
但请注意,这不仅适用于<a href="">
。它适用于图像,JavaScript文件,CSS文件等。任何你使用路径的地方。
答案 1 :(得分:0)
只需在相对路径的开头添加/
var pageInFolder = '/myFolder/mySubPage.html';