Javascript 如何在访问网站时创建自动弹出窗口

Javascript 如何在访问网站时创建自动弹出窗口,javascript,jquery,html,popupwindow,Javascript,Jquery,Html,Popupwindow,当我访问Shopif开发的网络商店时,我试图创建一个自动弹出窗口 <SCRIPT TYPE="text/javascript"> function popup(mylink, windowname) { if (! window.focus)return true; var href; if (typeof(mylink) == 'string') href=mylink; else href=mylink.href; window.o

当我访问Shopif开发的网络商店时,我试图创建一个自动弹出窗口

<SCRIPT TYPE="text/javascript">
  function popup(mylink, windowname) { 
    if (! window.focus)return true;
    var href;
    if (typeof(mylink) == 'string') href=mylink;
    else href=mylink.href; 
    window.open(href, windowname, 'width=400,height=200,scrollbars=yes'); 
    return false; 
  }
</SCRIPT>

<BODY onLoad="popup('autopopup.html', 'ad')">

函数弹出窗口(mylink,windowname){
如果(!window.focus)返回true;
var href;
if(typeof(mylink)='string')href=mylink;
else href=mylink.href;
打开(href,windowname,'width=400,height=200,scrollbars=yes');
返回false;
}
我有上面的代码自动打开弹出窗口。然而,我需要如何使这项工作的帮助,这是我正在努力工作的网站


提前感谢

谢天谢地,现代浏览器阻止了这种行为的发生


任何
窗口。open
必须仅作为用户触发事件的直接结果出现-例如鼠标单击或类似操作。

正如@Scopey所说,现代浏览器阻止这种行为自动发生。但是,您可以添加单击,或者如果您希望人们在执行任何其他操作之前先采取行动,您可以添加一个覆盖,以阻止任何其他功能(但我可以告诉您,这会破坏用户体验)

也许多说一点你的目标是什么。你为什么要打开这个额外的窗口?这样做有什么好处(你和用户从中得到了什么)

编辑:见下面我的评论。我还对我所说的内容做了一个非常简单的版本:

HTML:

JS:


正如@Scopey所说,浏览器会阻止你打开一个弹出窗口,但是你可以使用HTML5对话框,浏览器中的对话框覆盖有一个剧本,你甚至可以打开它,如果你想的话,它的模型将需要更长的时间才能工作,但这是你的选择

<dialog id="dialog">
    <iframe src="autopopup.html" />
</dialog>


Hi Falk,是否可以在页面加载后添加一个弹出窗口?当用户访问我的网站时,几秒钟后一个注册表单应该会自动填充。这就是我要找的。希望这能回答你的问题!嘿,是的,您可以设置一个超时,该超时从加载页面时开始,在3-5秒后添加覆盖。如果你想手工编写,你可以在jQuery中轻松完成这项工作,或者你可能会得到一个插件来为你完成这项工作。嗨,Falk,我不想找任何插件,因为它们不支持单一选择Mailchimp集成。所以,我在Wufoo下创建了表单,并下载了该表单的代码,在Shopify商店中,我必须将该表单放在主页上。无论何时访问,它都应在几秒钟后显示。例如:上面的网站显示了我希望弹出窗口自动填充的确切方式,因为他们使用的是Mailchimp弹出表单。非常感谢Falk!这真的很有帮助!
.wrapper {
  position: relative;
}

.overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.5);
  color: #fff;
  display: none;
}
function showOverlay() {
  $('.overlay').show()
}
setTimeout(showOverlay, 2000)
<dialog id="dialog">
    <iframe src="autopopup.html" />
</dialog>