如何使用javascript进行相对路径重定向?
我正在一个基于php的站点上处理javascript/jquery,我必须在页面中发生事件时重定向页面 比方说,单击如何使用javascript进行相对路径重定向?,javascript,jquery,Javascript,Jquery,我正在一个基于php的站点上处理javascript/jquery,我必须在页面中发生事件时重定向页面 比方说,单击“page1.php”中的“click me”(单击我)按钮时,页面应重定向到“page2.php”。此重定向必须使用javascript/jquery完成。两个页面位于同一文件夹中,重定向代码应使用“相对链接” 现在,如果我提供指向page2.php的绝对链接,我可以重定向,但是有人能告诉我如何使用相对链接进行重定向吗 比如: window.location.href = 'pa
“page1.php”
中的“click me”(单击我)按钮时,页面应重定向到“page2.php
”。此重定向必须使用javascript/jquery完成。两个页面位于同一文件夹中,重定向代码应使用“相对链接”
现在,如果我提供指向page2.php
的绝对链接,我可以重定向,但是有人能告诉我如何使用相对链接进行重定向吗
比如:
window.location.href = 'page2.php';
谢谢。您可以执行相对重定向:
document.location.href = '../'; //one level up
或
或者在jquery中
var url = "http://stackoverflow.com";
$(location).attr('href',url);
要设置相对路径,请使用
window.location.pathname
请看以下内容:
这起作用了。事实、相对和绝对的作用方式相同:
window.location.href = "http://www.google.com";
// or
window.location.href = "page2.html";
如果我理解,如果你在,你点击“page2.php”,你想被重定向到 也许有一个更聪明的解决方案,但它能解决你的问题吗
function relativeRedir(redir){
location.pathname = location.pathname.replace(/(.*)\/[^/]*/, "$1/"+redir);
}
使用示例:relativeRedir(“page1.php”) 如果有必要,为什么不直接使用超链接,用脚本设置
href
?你的“类似”建议应该会奏效。哦。。这确实有效。重定向在我的代码中不起作用的错误实际上是由其他代码行引起的。这一行-window.location.href=“whateverpage.php”起作用,它是相对路径。所以我相信重定向就是这么简单,不管是绝对的还是相对的。谢谢请将您的答案或您自己的答案标记为correct@kritzikratzi-是的,我尝试将适当的标记作为答案,但StackOverflow需要我等待大约2天才能完成。可能是网站应该考虑的事情,因为作者应该有特权在他想要的时候标记“回答”。如果你在,那么,“代码>窗口。位置。路径名将是代码> /索引。HTML < /代码> @ unCulton,我不确定你在说什么。我的意思是,如果路径中有文件名,比如索引x.html或index x.php,或者,它将进入window.location.pathname
。例如,转到并在javascript控制台中键入checkwindow.location.pathname
。是的,因为这是您当前所在的路径。它包含文件名是有效的。我认为这是唯一的多浏览器解决方案document.location.href
在IE和Chrome中有效,但在FF中无效。
window.location.href = "http://www.google.com";
// or
window.location.href = "page2.html";
function relativeRedir(redir){
location.pathname = location.pathname.replace(/(.*)\/[^/]*/, "$1/"+redir);
}