1、先创建个简单的页面。
2、在页面中加上js代码指定打开页面。
3、在浏览器中重新输入这个页面地址,按回车打开的页面就不在是原来的页面而是js指定的页面。
4、或者换成如图指定的打开方式。
5、再在浏览器中输入页面地址。
6、按下回车这时就会打开2个页面,一个是自己的默认页面,一个是js指定的页面。
第一步:通过点击事件,打开新窗口,并且传递参数
state.href('content.checkFinalTrial')
window.open(url+'?id='+data.id+'&type=1')
}
注:点击后需要直接调用window.open(),如果在ajax获取成功后再打开窗口,那么浏览器会阻止新窗口打开
第二步:通过$location.search()获取通过新窗口url传递的参数,并且利用参数进行ajax请求获取数据
$location.search().id
$location.search().type
第三步:关闭新窗口,并且调用父窗口(指打开新窗口的前一窗口)的事件
window.close()
opener.$('.searchBut2').click()
//window.opener.location.reload(),刷新原网页
请采用网页对话框的方式 showModalDialog
showModalDialog是jswindow对象的一个方法,和window.open一样都是打开一个新的页面。
区别是:showModalDialog打开子窗口后,父窗口就不能获取焦点了(也就是无法操作了)。
可以在子窗口中通过设置window.returnValue的值,让父窗口可以获取这个returnvalue.
2.一个例子
1)主窗口main.html,
2)在主窗口中通过showModalDialog的方式打开子窗口sub.html
3)在子窗口中设置returnValue返回给主窗口使用
main.html
复制代码代码如下:
<HTML><HEAD>
<METANAME="GENERATOR"Content="oscar999">
</HEAD>
<script>
functionshowmodal()
{
varret=window.showModalDialog("sub.html?temp="+Math.random())
alert("subreturnvalueis"+ret)
}
</script>
<BODY>
<INPUTid=button1type=buttonvalue="opensub"name=button1onclick="showmodal()">
</BODY>
</HTML>
sub.html
<HTML><HEAD>
<METANAME="GENERATOR"Content="oscar999">
</HEAD>
<script>
functionreturnMain()
{
window.returnValue="returnfromsub"
window.close()
}
</script>
<BODY>
<INPUTid=button1type=buttonvalue="returnandclose"name=button1onclick="returnMain()">
</BODY>
</HTML>
这种目前只有IE可用,其它浏览器都不可用了
方式二:
采用其它js框架,弹出对话框的模式