JS 打开新窗口

JavaScript023

JS 打开新窗口,第1张

请采用网页对话框的方式  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框架,弹出对话框的模式

1直接提示只有确定功能的提示框 只显示提示信息 alert(“提示信息”)

alert ()的参数只有一个就是提示信息,无返回值

2 弹出输入框让你输入内容 prompt()

有两个参数:第一个显示提示信息,第二个显示输入框的默认值

3有确定和取消功能的函数 comfirm(“提示信息”)

就一个参数即提示信息 有返回值 true或false

用法为如下

在js中:

function IsSure(){

var

mes=confirm("您确定要**吗?")

if(mes==true){ do

sth}

else{ do

otherthings}

}

<input id="shanchu"type="button" value="删 除"

onclick="IsSure()"/>

4 弹出新的提示页面的函数 window.open("page.aspx")

参数如下:

可以通过设置参数来设置此页面的大小

window.open 弹出新窗口的命令;

'page.aspxs弹出窗口的文件名;

'newwindow'

弹出窗口的名字(不是文件名),非必须,可用空''代替;

height=100 窗口高度;

width=400 窗口宽度;

top=0 窗口距离屏幕上方的象素值;

left=0 窗口距离屏幕左侧的象素值;

toolbar=no

是否显示工具栏,yes为显示;

menubar,scrollbars

表示菜单栏和滚动栏。

resizable=no

是否允许改变窗口大小,yes为允许;

location=no

是否显示地址栏,yes为允许;

status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许;

例如:window.open ("page.aspx", "newwindow", "height=100, width=400,

toolbar =no, menubar=no,

scrollbars=no, resizable=no, location=no, status=no")