在通过Javascript同一选项卡中打开新的HTML页

问题描述 投票:2回答:3

我已经尝试了半打的方式在点击一个按钮,其中没有对Firefox或边工作,以打开在同一个标​​签页:

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 = "";
        }
    }
javascript html tabs
3个回答
1
投票

其实我已经通过实验,因为MDN文档不明确这一点,想通了这一点,但它似乎window.location使用完整路径与协议,但接受与...和与/开始绝对网站的路径开始的相对路径。

这意味着你的第二个和第四个例子实际工作。

window.location = "/advance.html";

如果不是为你工作'S,那么误差可能是在其他地方,或浏览器是不一致的(因为这是一个古老的功能,它让我感到吃惊)。


0
投票

不要使用提交,使用按钮这样的:

<input type="button" onclick="login(this.form)" value="login">

function login(form) {
   if (form.company.value == "advance" && form.password.value == "1234")
   {
      window.open("advance.html", "_top");
   }
}

0
投票

我认为这个问题是在你的window.open("advance.html", _self);。你必须引用“_self”。 window.open("advance.html", "_self");此代码应工作。您也可以在它使用位置参数。像`location.assign( “advance.html”)。这将在新窗口中打开它。

© www.soinside.com 2019 - 2024. All rights reserved.