博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
浏览器页面之间推送消息 A窗口给B窗口推送消息 用于cef多个browser之间通信
阅读量:4073 次
发布时间:2019-05-25

本文共 979 字,大约阅读时间需要 3 分钟。

var jack = {};var listenerMap = {};// 这里传事件名称,方法名称function addEventListener(args) {	listenerMap[args.name] = args.callBackName;}// 监听管理者function listenerManager() {	for(var name in listenerMap) {		var message = localStorage.getItem(name);		if(message) {			var func = eval(listenerMap[name]);			func(message);			localStorage.removeItem(name);		}	}}//添加一条消息function addMessage(name,message) {   localStorage.setItem(name,message)}$(function() {	//每一秒执行一次	setInterval("listenerManager()", 1000);})jack.addEventListener = addEventListener;jack.addMessage = addMessage;

在需要接收消息的页面

jack.addEventListener({		name:'onLoginSuccess',		callBackName:'onLoginSuccess'	});
//当登录成功的时候function onLoginSuccess(userInfo){	userInfo = JSON.parse(userInfo);	storeId = userInfo.storeId;	poll();}

在 推送消息的页面

jack.addMessage('onLoginSuccess',JSON.stringify(data));
注意消息只能是字符串类型,不可以是json对象,如果是json对象

此方法在cef 上测试通过,在chrome浏览器中不见得好使,因为如果你访问A窗口那么B窗口的代码不会执行,当然你到了B窗口的时候js继续执行就可以收到提示了。

如果觉得这篇文章帮助到你,给作者打赏点咖啡钱吧。

你可能感兴趣的文章
在mc中直接加aswing组件,该组件还需最后用validate()方法
查看>>
移植Vim配色方案到Eclipse
查看>>
从超链接调用ActionScript
查看>>
谈谈加密和混淆吧[转]
查看>>
TCP的几个状态对于我们分析所起的作用SYN, FIN, ACK, PSH,
查看>>
网络游戏客户端的日志输出
查看>>
关于按钮的mouseOver和rollOver
查看>>
《多线程服务器的适用场合》例释与答疑
查看>>
Netty框架
查看>>
线程同步(C# 编程指南)
查看>>
flex addChild 的一个小细节
查看>>
Adobe Flash gets its full launch on Android
查看>>
java.nio.BufferOverflowException
查看>>
对于大型公司项目平台选择j2ee的几层认识(二)
查看>>
flash player10 Vector类型
查看>>
德克萨斯扑克初级玩家必胜玩法
查看>>
Flex数据绑定陷阱:常见的误用和错误(一) - 闪吧教材.jpg
查看>>
alchemy的Box2D版本
查看>>
Alchemy简单入门教程(FlashCS4环境)
查看>>
AS3的深度管理及排序
查看>>