javascript - 使目标 ="_blank"始终在同一窗口(不是父窗口)中打开

标签 javascript html google-chrome mobile browser

我有一个设置了 target = _blank 的表单,它按预期工作,但我希望使提交表单在同一窗口中打开,而不管我做了多少提交。它有意义吗?,示例:

当前行为是:

  • “父窗口”具有以下形式
  • 当第一次提交时打开第二个窗口,让调用“Window Child 1”(直到这里没问题)
  • 当我第二次提交表单时,加载了另一个子窗口(我不想要这个)

我需要的行为:

  • 当我第二次提交表单时,我需要在第一次提交使用“Window Child 1”的同一窗口中获取内容。这样做我希望在同一窗口中用第二次提交覆盖第一次提交的结果。

我做了这个 jsfiddle http://jsfiddle.net/5jmnk1rm/

<form action="/" method="post" id="form1" target="_blank">   
    <input type="submit" value="Submit" />        
</form>

注意:我不应该使用 window.open(由于其他代码等...)

更新

我已将 target="_blank"更改为 target="customName",它会在 Chrome 移动版 (iOS) 中打开不同的窗口。我开始认为这是浏览器上的错误

最佳答案

您需要做的就是将 _blank 替换为特定名称。

<form action="/" method="post" id="form1" target="foo">   
    <input type="submit" value="Submit" />        
</form>

但是您会遇到其他一些复杂情况,例如某些浏览器将打开一个新选项卡而不是一个窗口。

附加信息

如果无论用户的浏览器配置如何,您都需要在新窗口中强制打开,您别无选择,只能使用 window.open。通过设置高度和宽度选项,您可以强制打开一个窗口,而不是一个选项卡。

关于javascript - 使目标 ="_blank"始终在同一窗口(不是父窗口)中打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31280766/

相关文章:

html - 仅使用 CSS 的自定义选择元素

javascript - react 表 : TypeError: Cannot read property 'forEach' of undefined 问题

javascript - Angular "controller as syntax" "this"数据

javascript - 错误: Permission denied to access property '$'

html - 我的项目应该使用哪个 Javascript MV* 平台/库?

php - 提交表单时更新 SESSION 变量

javascript - JQuery .html 选择器,图像未显示

google-chrome - Chrome 不信任 M70 for Aliexpress

javascript - 为什么在 `array#reduce` 内部返回一个函数而不是仅仅传递一个函数

html - td relative 中的过渡元素使表格闪烁