如何打开一个新的窗口/选项卡没有用户的干预,而不让它被阻止

How to open a new window/tab without user interfaction and without getting it blocked

本文关键字:用户 何打开 一个 选项 窗口      更新时间:2023-09-26

我有一个<input type="text" />,它显示了一些数据源的搜索建议。

当用户被重定向到某个URL并在一个新窗口(即window.open)中按[ENTER]键时,问题发生了:Web浏览器阻塞了整个窗口,因为它已经在没有用户交互的情况下打开了。

你知道解决这个问题的方法吗?

我已经尝试了什么?

  • 默认打开一个新窗口并按[ENTER]键更改其URL。
  • 编程点击输入元素。

解决方案

当按ENTERRETURNform元素或其子元素选择时,标准(即使它的不是在每个浏览器中实现)事件将触发它的submit事件。


自动化替代

如果你想让这个事件自动调用你可以使用JavaScript:

/*Directly selecting the form by its formIndex*/
document.forms[0].submit();
/* --- */    
/* selecting the form by ID */
document.getElementById('myForm').submit();