正如@Scopey 所说,现代浏览器会阻止这种行为自动发生。但是,您可以添加一次点击,或者如果您希望人们在执行任何其他操作之前先采取行动,您可以添加一个覆盖任何其他功能的叠加层(但我可以告诉您这会扼杀用户体验)。
也许可以多说一下你的目标是什么。为什么要打开这个额外的窗口?这样做有什么好处(你有什么好处,用户从中得到了什么)?
编辑:请参阅下面的评论。我还整理了一个非常简单的版本:https://jsfiddle.net/uthhvu8d/
HTML:
<div class="wrapper">
<div class="overlay">
<form action="">
<input type="text">
<input type="text">
<button>Submit</button>
</form>
</div>
<div class="content">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Maxime, inventore esse aliquam nostrum? Cupiditate provident, delectus, minus voluptatum natus fugiat.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minus temporibus vitae quibusdam maxime natus fugiat quis amet sed perferendis quod.</p>
</div>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Laboriosam nostrum consequatur animi quod rem eos nihil obcaecati repellat. At, accusamus.</p>
</div>
CSS:
.wrapper {
position: relative;
}
.overlay {
position: absolute;
width: 100%;
height: 100%;
background-color: rgba(0,0,0,0.5);
color: #fff;
display: none;
}
JS:
function showOverlay() {
$('.overlay').show()
}
setTimeout(showOverlay, 2000)