BrowserWindow (窗口操作)

BrowserWindow 即为当前窗口的实例

获取

var browserWindow = RongDesktop.require('BrowserWindow');

属性

属性名 类型 说明 桌面版版本
url String 窗口初始加载的 url 2.0.0
top Number 窗口相对于屏幕顶部的偏移位置 2.0.0
bottom Number 窗口相对于屏幕底部的偏移位置 2.0.0
left Number 窗口相对于屏幕左侧的偏移位置 2.0.0
right Number 窗口相对于屏幕右侧的偏移位置 2.0.0
width Number 窗口宽度 2.0.0
height Number 窗口高度 2.0.0
isMain Boolean 是否为主窗口 2.0.0
isFocus Boolean 是否已聚焦 2.0.0
isMax Boolean 是否已最大化 2.0.0
isMin Boolean 是否已最小化 2.0.0
isAlwaysOnTop Boolean 是否始终显示在其他窗口顶部 2.0.0
isHide Boolean 是否已隐藏 2.0.0
isClosed Boolean 窗口是否已销毁 2.0.0
parent Object 父窗口实例, 仅包含实例属性, 不可对父窗口进行操作 2.0.0
children Array 所有子窗口组成的数组 2.0.0

方法

browserWindow.open(option, callback)

打开新窗口

option 参数说明:

参数 类型 是否必填 说明 桌面版版本
url String 窗口加载 url 2.0.0
width Number 窗口宽度, 默认为 890, 单位为 px 2.0.0
height Number 窗口高度, 默认为 640, 单位为 px 2.0.0
minWidth Number 窗口最小宽度 2.0.0
minHeight Number 窗口最小高度 2.0.0
position Object 窗口和屏幕之间的偏移 2.0.0

position 参数说明:

参数 类型 是否必填 说明 桌面版版本
top Number 窗口上边界与屏幕上边界之间的偏移 2.0.0
bottom Number 窗口下边界与屏幕下边界之间的偏移 2.0.0
left Number 窗口左边界与屏幕左边界之间的偏移 2.0.0
right Number 窗口右边界与屏幕右边界之间的偏移 2.0.0

注:

  • 同时填写 top, bottom 时, 仅 top 生效
  • 同时填写 left, right 时, 仅 left 生效

示例代码:

var option = {
    url: 'http://www.rongcloud.cn/docs/desktop.html',
    width: 640,
    height: 480
};
browserWindow.open(option, function(childWindow){
    console.log(childWindow);
});

browserWindow.close()

关闭窗口

注: 如果窗口为主窗口, 窗口不会关闭, 而是隐藏

示例代码:

browserWindow.close();

browserWindow.focus()

窗口获取焦点

示例代码:

browserWindow.focus();

browserWindow.blur()

窗口失去焦点

示例代码:

browserWindow.blur();

browserWindow.max()

窗口最大化

示例代码:

browserWindow.max();

browserWindow.min()

窗口最小化

示例代码:

browserWindow.min();

browserWindow.restore()

取消窗口最大化/最小化

示例代码:

browserWindow.restore();

browserWindow.setAlwaysOnTop(isOnTop)

设置窗口是否始终显示在其他窗口顶部

参数说明:

参数 类型 是否必填 说明 桌面版版本
isOnTop Boolean 是否置顶, 默认为 true 2.0.0

示例代码:

browserWindow.setAlwaysOnTop(true);

browserWindow.hide()

隐藏窗口

示例代码:

browserWindow.hide();

browserWindow.show()

显示窗口

示例代码:

browserWindow.show();

browserWindow.shake(option)

振动窗口

option 参数说明:

参数 类型 是否必填 说明 桌面版版本
rate Number 振动频率,默认为 25, 单位为毫秒 / 次 2.0.0
time Number 振动时间,默认为 1000, 单位为毫秒 2.0.0

示例代码:

var option = {
    rate: 30,
    time: 1000
};
browserWindow.shake(option);

browserWindow.flash(enabled)

窗口闪烁, 仅 windows 有效

参数说明:

参数 类型 是否必填 说明 桌面版版本
enabled Boolean 启动或停止, 默认为 true 2.0.0

示例代码:

browserWindow.flash(true);

browserWindow.send(anotherBrowserWindow, message, callback)

向其他窗口发送消息

参数说明:

参数 类型 是否必填 说明 桌面版版本
anotherBrowserWindow Object 窗口实例 2.0.0
message Object 发送的信息 2.0.0
callback Function 回调函数 2.0.0

示例代码:

var sendMessage = function(childWindow, message) {
    browserWindow.send(childWindow, message, function(err) {
        if (err) {
            console.log('发送失败, 失败原因:', err);
        }
    });
};
var option = { url: 'http://www.rongcloud.cn/docs/desktop.html' };
browserWindow.open(option, function(childWindow){
    var message = { content: 'hello world' };
    sendMessage(childWindow, message);
});

browserWindow.watch(anotherBrowserWindow, callback)

接收其他窗口发送的消息

参数说明:

参数 类型 是否必填 说明 桌面版版本
anotherBrowserWindow Object 窗口实例 2.0.0
callback Function 监听的回调函数 2.0.0

callback data 参数说明:

参数 类型 是否必填 说明 桌面版版本
origin String 发送窗口实例, 只包含实例属性, 不包含实例方法 2.0.0
message Object 收到的消息 2.0.0

示例代码:

var setListener = function(childWindow) {
    browserWindow.watch(childWindow, function(data) {
        var message = data.message;
        var origin = data.origin;
        console.log('收到子窗口的消息:', message);
    });
};
var option = { url: 'http://www.rongcloud.cn/docs/desktop.html' };
browserWindow.open(option, function(childWindow) {
    setListener(childWindow);
});

results matching ""

    No results matching ""