【问题标题】:How to open a new window in the same page如何在同一页面中打开新窗口
【发布时间】:2012-06-28 10:54:14
【问题描述】:

我有一个按钮:

<button>Click</button>

我想单击它并在同一页面中打开一个新窗口,我将单击事件绑定一个事件句柄:

$('button').click(function () {
    var newurl="http://" + window.location["host"] + ";
    window.open(newurl, '_parent');
})

但总是在新标签或新窗口中打开,第二个参数我试过_self_top。 我什至尝试过window.location.href(newurl)

那么我该如何解决这个问题?浏览器或操作系统有关系吗?我在 Mac OS 的 firefox 和 chrome 中查看。

【问题讨论】:

  • 你问的是不可能的。 “新窗口”与“同一页面”互斥。听起来您真的只想更改当前窗口/选项卡中的 URL。
  • 您希望在当前窗口中打开网址吗?我不确定我是否理解你的问题。
  • @EricG:是的,你理解是对的

标签: javascript window


【解决方案1】:

这在技术上是不可能的,它还取决于浏览器选项卡设置、窗口设置和第三方选项卡操作插件或插件。


更新

OP 通过他在问题下方的评论消除了所有人的困惑,这就是您需要为当前窗口设置新网址的内容:

$('button').click(function () {
    var newurl="http://" + window.location["host"];
    window.location.href = newurl; // or simply window.location
})

【讨论】:

  • @Christoph:它在 same 窗口而不是 new 窗口 中重新加载新的 url
  • @Christoph:同意,他在问题下方的评论现在澄清了
【解决方案2】:

window.location =newurl; 将打开一个新窗口替换父窗口

【讨论】:

  • 它不会在 new 窗口中打开,实际问题
  • 我认为这个问题表述得不好
  • 它会改变同一个窗口内的url,它不会打开新的
  • 如果你仔细阅读它有“但总是在新标签或新窗口中打开”,所以他显然不希望它在新窗口中打开,他只想打开一个新页面在当前窗口中。
【解决方案3】:

你试过了吗?

<script type="text/javascript">
  window.open ('test.htm','_self',false)
</script>

【讨论】:

  • 阅读问题? "我试过_self"
【解决方案4】:

如果您的意思是要替换当前页面,window.location = newLocation; 可以。 如果您想要一个模态弹出窗口,请尝试 JQuery UI Dialog。

【讨论】:

    猜你喜欢
    • 2010-09-21
    • 2018-11-27
    • 2013-08-04
    • 2011-02-03
    • 1970-01-01
    • 2017-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多