如果你这个子页面是属于另一个页面(与当前页面不是同一个文件),可以用iframe标签来打开。
如果是属以同一个页面的内容,那么可以在那个位置先放一个空白的div,通过css预先设定好width、height以及是否需要滚动条等等,并设定id(比如abc),然后在必要的时候(比如点击某个链接)用js给这个div添加内容:
var div=document.getElementById("abc")div.innerHTML+="<p>要添加的内容1</p>"
div.innerHTML+="<p>要添加的内容2</p>"
div.innerHTML+="<p>要添加的内容3</p>"
div.innerHTML+="<p>要添加的内容4</p>"
或者也可以预先给这个div填充内容,并在css中把它的display属性设为none(即隐藏),然后在必要的时候把它显示出来即可:
var div=document.getElementById("abc")div.style.display="block"
请采用网页对话框的方式 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框架,弹出对话框的模式