-
Notifications
You must be signed in to change notification settings - Fork 0
8.ifmsg(页面通信)
CLovinr edited this page Mar 23, 2021
·
7 revisions
ifmsg,支持跨域的页面通信,基于postMessage实现(IE9+支持)。
var ifmsg=require("ifmsg");
- ifmsg.Server(cmd,option|singleMode)
- cmd:服务名
- option:选项
{
connTimeout: 30000, //连接超时时间,毫秒
sleepTimeout: 20, //连接检测的休眠时间,毫秒
singleMode:false,//是否单例模式,只会接收一个客户端
}
- 函数说明
var server=new ifmsg.Server("service-name");
- server.onConnect:【可选】连接验证,默认同域通过。
server.onConnect=function(client,conndata,callback){
};
通过:callback(true,serverConndata);
不通过:callback(false,errmsg);
- server.onConnectTimeout:【可选】客户端连接超时
server.onConnectTimeout=function(client){
};
- server.onConnected:【必选】连接成功
server.onConnected=function(client){
};
- server.isStart():是否已启动
- server.isDestroyed():是否已销毁
- server.cmd:服务名
- server.listen():开始服务
- server.close(data):关闭服务
- server.client:获取单例模式的客户端
- server.isSingle:是否为单例模式
- client说明
client.id:获取客户端id
client.cmd:服务名
client.source:客户端窗口
client.origin:客户端源
client.connected:是否已连接
client.destroyed:是否已销毁
client.onUnload=function(){}:本页面首先被关闭时回调,返回的数据会发送给对方
client.onClosed=function(data){}:关闭回调
client.onHeartTimeout=function(){}:心跳超时回调
client.onMessage=function(data){}:收到消息回调
client.sendMessage(data):发送消息
client.close(data):关闭客户端
- ifmsg.Client(cmd,option)
- cmd:服务名
- option:选项
{
connTimeout: 30000, //连接超时时间,毫秒
sleepTimeout: 20, //连接检测的休眠时间,毫秒
}
- 函数说明
var client=new ifmsg.Client("service-name");
- client.connIframe(iframe,conndata):连接iframe
- client.connParent(conndata):连接父窗口
- client.connTop(conndata):连接top窗口
- client.connOpener(conndata):连接opener窗口
- client.onConnect:【可选】连接验证,默认同域通过。
client.onConnect=function(source,origin,conndata,callback){
};
通过:callback(true);
不通过:callback(false,errmsg);
- client.onConnected:【可选】已连接的回调
client.onConnected=function(){
};
- client.id:获取id
- client.cmd:服务名
- client.connected:是否已连接
- client.destroyed:是否已销毁
- client.onUnload=function(){}:本页面首先被关闭时回调,返回的数据会发送给对方
- client.onClosed=function(){}:关闭回调
- client.onHeartTimeout=function(){}:心跳超时回调
- client.onMessage=function(data){}:收到消息回调
- client.sendMessage(data):发送消息
- client.onConnectFail=function(err){}:连接失败回调
- client.close(data):关闭