【问题标题】:Relative paths using javascript in different browsers在不同浏览器中使用 javascript 的相对路径
【发布时间】:2013-11-15 15:54:46
【问题描述】:

我正在使用 JavaScript 打开相对于我所在的当前目录的特定页面。目录结构是:

a/b/c/firstpage.html

如果,我目前在 firstpage.html,我想导航到 b/secondpage.html:

IE9/10中,我使用如下代码:

../secondpage.html

Chrome 中,我必须使用以下代码:

./secondpage.html

因为如果我在 Chrome 中使用 2 个点,它将转到 a/secondpage.html

你能告诉我如何解决这个问题以在所有浏览器中兼容吗?

【问题讨论】:

  • chrome 的行为不像你说的那样。 ./ 代表当前工作目录,因此当您在 a/b/c/firstpage.html 上时单击指向 ./secondpage.html 的链接与单击指向 a/b/c/secondpage.html 的链接相同。 ../ 按照您的描述工作:在目录树中向上移动一级。这在 chrome 中与在 IE 和任何其他浏览器中的工作方式相同。你一定不能真正做你认为你正在做的事情。为你实际尝试做的事情提供更多细节和代码

标签: javascript relative-path


【解决方案1】:

使用 split 并在当前 url 中上两层,然后连接您的第二个 url:

var loc = window.location.href.split('/').slice(0,-2).join('/');
var url = loc + '/secondpage.html';

【讨论】:

    猜你喜欢
    • 2019-08-03
    • 2021-08-17
    • 2015-03-20
    • 2011-04-26
    • 2017-07-10
    • 2021-03-19
    • 2012-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多