returnValue的使用

returnValue是javascript中html的window对象的属性,目的是返回窗口值,当用
window.showModalDialog函数打开一个IE的模式窗口(模式窗口知道吧,就是打开后不能操作父窗口,只能等模式窗口关闭时才能操作)时,用于返回窗口的值,下面举个例子:


------------------------------------------------------------------------------
//father.html
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
<script language="javascript">


function showmodal(){
var ret = window.showModalDialog("child.htm",null,"dialogWidth:350px;dialogHeight:350px;help:no;status:no");
if (ret){alert('子窗口返回真!');
}else{
alert('子窗口返回假!');
}


}


</script>
</HEAD>
<BODY>
<INPUT id=button1 type=button value=Button name=button1 οnclick="showmodal();">


</BODY>
</HTML>


------------------------------------------------------------------------------
//child.html
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
<script language="javascript">
function trans(tag){


if (tag==0){
window.returnValue=false;
} else{
window.returnValue =true;
}
window.close();


}




</script>
</HEAD>
<BODY>


<INPUT id=button1 type=button value="返回真" name=button1 οnclick="trans(1)">
<INPUT id=button2 type=button value="返回假" name=button2 οnclick="trans(0)">


</BODY>
</HTML>
-----------------------------------------------------------------------------
这样一来可以实现从模式窗口向父窗口传递值的作用,
这个returnValue除了可以是布尔值,整型值等以外还可以是个js数组,用来传递大量数据。
具体showModalDialog等的用法,可以参考msdn。
`BrowserWindow.returnValue` 是 Electron 框架中一个用于控制渲染进程(Web页面)和主进程之间交互的属性。Electron 是一个使用 JavaScript, HTML 和 CSS 等 Web 技术来构建桌面应用的框架,它允许你用前端技术开发跨平台的桌面应用。 在 Electron 中,`BrowserWindow` 是一个主要用来创建和管理窗口的类。当你在渲染进程(即 Electron 中的网页)中通过 `window.open` 方法打开一个新窗口时,这个新窗口的 `BrowserWindow` 实例会有一个 `returnValue` 属性。这个属性允许主进程对渲染进程打开的窗口进行一些控制。 `returnValue` 的使用通常与 `dialog` 模块中的 `showMessageBox` 方法一起使用时更为常见。`showMessageBox` 会显示一个消息对话框,等待用户响应,并返回一个结果对象,其中包含用户的响应信息。这个返回值可以被设置到某个 `BrowserWindow` 实例的 `returnValue` 属性上,从而可以在渲染进程中通过检查这个属性来获取用户通过对话框做出的选择。 以下是一个简化的例子来说明如何使用 `BrowserWindow.returnValue`: ```javascript // 在主进程中 const { BrowserWindow, dialog } = require('electron'); let win = new BrowserWindow(); win.webContents.openDevTools(); // 假设某个操作触发了一个对话框 dialog.showMessageBox(win, { type: 'question', buttons: ['Yes', 'No'], title: 'Question', message: 'Do you want to quit?' }).then(result => { win.returnValue = result.response; }); win.on('closed', () => { win = null; }); ``` 在上面的代码中,如果用户点击了 "Yes",`win.returnValue` 将会是 `0`(因为 "Yes" 是数组中的第一个选项),如果点击 "No",则会是 `1`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值