如何使用javascript在后台打开弹出窗口?
是否可以使用java脚本打开当前活动屏幕的弹出窗口?
var win= window.open(value,'_blank');
上面的脚本在浏览器选项卡中打开弹出窗口,但是我失去了活动页面。
有什么建议吗?
提前致谢
解:
按照@Brian的建议,
var win=window.open(value,null,"height=400,width=600,status=yes,toolbar=no,scrollbars=yes,menubar=no,location=no"); win.blur();
它适用于IE,FireFox和Safari,但不适用于Chrome浏览器 。
任何人都可以建议如何在IE浏览器中打开多个弹出框? 上面的脚本只会在IE中打开一个弹出窗口。
你可以加:
win.blur();
……给你的代码……
要么
this.window.focus();
给Brian回答以后重新聚焦原始窗口的答案。 如果您出于某种原因总是希望它落后,您可以使用alwaysLowered
属性:
alwaysLowered
如果设置为yes,则当父窗口未最小化时,新创建的窗口将浮动在其自己的父窗口下方。 alwaysLowered窗口通常被称为pop-under windows。 alwaysLowered窗口不能位于父窗口之上,但可以最小化父窗口。 在NS 6.x中,alwaysLowered窗口没有最小化系统命令图标,也没有恢复/最大化系统命令。
可以在MDC window.open页面上找到所有可用function的详细文档。
我发现使用Firefox时,无论我修改了多少代码,都无法将窗口推到后面。 最终我决定让窗户足够小10,10,以便它出现在一个角落里,几乎没有被访客察觉。
var win=window.open(value,null,"height=10,width=10,status=yes,toolbar=no,scrollbars=yes,menubar=no,location=no");
Chrome会在标签中打开弹出窗口,iE会将其放置在活动窗口后面的背景中。
对于更多的跨浏览器解决方案,我建议你看一下这个脚本–jquery-popunder :
…经过测试:
- Mozilla Firefox 3-19
- 谷歌Chrome 10-25
- 注意:目前您只能在Chrome 22-24中创建2个popunder
- 注意:在Chrome 23-24中,您需要一个单独的poplow-effect事件(请参阅示例!)
- Microsoft Internet Explorer 6-9
Apple Safari 5
已知的问题:
- 该脚本不适用于Opera-Browser,因此默认情况下禁用opera-browser
- 该脚本在Gnome下的Firefox中不起作用
- 在Firefox中,当设置:“在新选项卡中打开新窗口而不是”时,将取消激活
注意
如果在用户生成的事件(例如,单击或提交)上打开popunder,则此脚本将起作用。