【问题标题】:window.open('url', '_self') not workingwindow.open('url','_self')不起作用
【发布时间】:2018-07-07 08:24:37
【问题描述】:

所以我想打开一个新页面替换当前页面,我发现该方法应该将第二个参数放在 _self 上但没有任何反应...... 顺便说一句,如果我使用 _blank 参数或将其留空,它将在新页面中打开。该功能的其余部分运行良好,但我找不到关闭当前页面并打开我想要的新页面的方法。 这是调用该函数的javascript和html按钮。

    <button id="rgstr_btn" type="submit" class="btn btn-info" onClick="store()">Register</button>   
      <script>
                function store() {
                localStorage.setItem('nome', nome.value);
                localStorage.setItem('pw', pw.value);
                window.open('url', '_self');
            }
</script>

【问题讨论】:

  • 为什么不直接设置window.location.href
  • 此按钮是否位于form 标记中?在这种情况下添加type="button" 属性,否则它还会提交表单(developer.mozilla.org/en-US/docs/Web/HTML/Element/…),这可能会与您自己的页面加载工作发生冲突。
  • 你是对的人,非常感谢你现在它工作了
  • 好的,然后我将其添加为答案

标签: javascript html self window.open current-page


【解决方案1】:

按钮有一个type 属性,默认为submithttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-type
虽然这不会影响“日常”按钮,但如果按钮位于 form 中,那么它将提交表单,并导致某些页面加载,这与您自己的尝试发生冲突。 您只需将type="button" 属性添加到button 即可避免这种情况:

<button id="rgstr_btn" type="button" class="btn btn-info" onClick="store()">Register</button>
                       ^^^^^^^^^^^^^

【讨论】:

    【解决方案2】:

    windows.open() 在新窗口中打开 URL。

    要替换当前窗口中的 URL,请使用:

    window.location.href = 'http://example.com';
    

    【讨论】:

    • 还是什么都没有......看起来页面重新加载,因为它删除了页面中表单的字段,但它没有打开任何页面
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-08
    • 2011-06-16
    相关资源
    最近更新 更多