我已经尝试了六种方法来通过单击按钮在同一选项卡中打开页面,但没有一种方法适用于 FireFox 或 Edge:
window.location ="advance.html";
什么都没发生
window.location ="/advance.html";
什么都没发生
window.location.href ="advance.html";
什么都没发生
window.location.href ="/advance.html";
什么都没发生
window.open("advance.html", _self);
什么都没发生
window.open("advance.html");
在新标签页中打开页面
已经尝试了一个小时的每一个建议,但没有任何效果。
我在这里错过了什么?
编辑: 由于人们在询问上下文(我知道用户名和密码是纯文本,我只是想让这部分先工作):
<script language="javascript">
function goHome()
{
window.location = 'index.html';
};
function login(form)
{
if(form.company.value == "advance" && form.password.value == "1234")
{
window.location.href ="advance.html";
}
else if(form.company.value == "" || form.password.value == "")
{
}
else
{
alert("Incorrect Usename/Password combination please try again.");
form.password.value = "";
}
}
最佳答案
我实际上已经通过实验弄清楚了这一点,因为 MDN 文档对此并不清楚,但似乎 window.location
使用带有协议(protocol)的完整路径,但接受以 .
开头的相对路径或 ..
和以 /
开头的绝对站点路径.
这意味着您的第二个和第四个示例确实有效。
window.location = "/advance.html";
如果这对您不起作用,则错误可能出在其他地方,或者浏览器不一致(这会让我感到惊讶,因为这是一个旧功能)。
关于javascript - 通过 Javascript 在同一选项卡中打开新的 HTML 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43395782/