请教高手,一个在浏览器中打开新窗口的问题

shi_hang_nk 中创软件昆山公司 副总工程师  2011-08-20 09:30:29
大家好,我要在浏览器中打开一个新的窗口,有如下需求:
1.不会被浏览器拦截
2.能去掉工具栏、菜单栏,并自定义尺寸
3.在多窗口情况下(如IE9,360等),能产生一个新窗口,而不是产生一个标签页
4.能传参数给新的窗口

我在网上找了一些资料,但都不能同时解决上面的问题,如下面的方式

1.新添加一个Form

<form id="EmailForm" action="目标页" method="get" target="_blank">
<input id="emailid" name="emailid" type="hidden" />//隐藏域,用来放需要传递的参数
</form>

注意form的target属性要设置成_blank

2.提交这个Form

function btnEditEmail_onclick() {
document.getElementById("emailid").value=id;//初始隐藏域
document.getElementById("EmailForm").submit();//提交
}


可以实现1和4,但不能解决2和3。

请教大家有没有什么好办法,谢谢。
...全文
75 点赞 收藏 7
写回复
7 条回复
KK3K2005 2011年08月23日
去看下firebug lite的源代码

看下他是怎么打开新窗口的

回复 点赞
卟惹尘埃 2011年08月23日
直接iframe啊 传参也可以的呀,parent.document.frames[iframe的name值].事件名称;
回复 点赞
行游客 2011年08月23日
不用浏览器自带的窗口,用弹出层来实现就可以达到你所有的要求,原理就是当要弹出窗口的时候,动态创建一个div,让它居中,div里面有一个iframe,然后你把你要新打开页面的链接传给这个iframe的src就可以了,当然要做得好用,还有很多细节要处理,网上应该有相关的样例或控件,找找看。
回复 点赞
mokson 2011年08月21日
window.opener()
回复 点赞
Acesidonu 2011年08月21日
window.showModalDialog()
回复 点赞
MuBeiBei 2011年08月20日
<script>
window.showModalDialog("http://www.baidu.com",'window');
</script>


用这个试试
回复 点赞
MuBeiBei 2011年08月20日
2.能去掉工具栏、菜单栏,并自定义尺寸
3.在多窗口情况下(如IE9,360等),能产生一个新窗口,而不是产生一个标签页


第二个和第三个其实用window.open能解决~·

但是window.open又会被拦截~·

很矛盾~·
回复 点赞
发动态
发帖子
CSS
创建于2007-09-28

3.1w+

社区成员

6.0w+

社区内容

层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区公告
暂无公告