本文讲解SendMessage、PostMessage两个函数的实现原理,分为三个步骤进行讲解,分别适合初级、中级、高级程序员进行理解,三个步骤分别为:1、SendMessage、PostMessage的运行机制。2、SendMessage、PostMessage的运行内幕。3、SendMessag...
分类:
其他好文 时间:
2015-08-12 18:33:38
阅读次数:
303
原文:http://www.cnblogs.com/dolphinX/p/3464056.html一些麻烦事儿平时做web开发的时候关于消息传递,除了客户端与服务器传值还有几个经常会遇到的问题1.页面和其打开的新窗口的数据传递2.多窗口之间消息传递3.页面与嵌套的iframe消息传递4.上面三个问题...
分类:
Web程序 时间:
2015-08-03 11:31:21
阅读次数:
128
Communication API Cross Document Messaging (跨文档消息通信) postMessage API origin security(源安全)chatFrame.contentWindow.postMessage('hello','http:...
消息队列是属于线程的,Post消息就是把消息放到目标线程的消息队列中。
这两者的区别在于:
PostMessage 通过指定目标窗口句柄来确定目标线程,通常情况下由窗口过程来处理消息;
PostThreadMessage 直接指定目标线程ID来确定目标线程,没有目标窗口,只能在消息循环中直接根据消息类型做相应的处理。
在程序设计的选择方面,如果是UI线程,则应使用PostMessage;如...
分类:
其他好文 时间:
2015-07-21 17:10:20
阅读次数:
112
SendMessage, PostMessage实现进程通讯
项目1中发送消息:
#define WM_MYMESSAGE WM_USER + 1
CWnd *pWnd = CWnd::FindWindow("#32770", "MfcTest"); //目标进程的窗口类名和窗口名
if (pWnd)
{
pWnd->SendMessage(WM_MYMESSAGE, N...
分类:
系统相关 时间:
2015-07-20 19:45:20
阅读次数:
181
问题场景:web是嵌入到手机客户端中的静态页面,为了统计用户行为需要引入ga,但是ga必须是在www下才行,哪怕是localhost,这就是矛盾。解决方案是在页面中使用iframe,iframe是在另外一个域名下的,然后在iframe中调用ga方法。很显然必须要解决iframe的跨域通信。var f...
分类:
Web程序 时间:
2015-07-20 15:58:35
阅读次数:
104
一. jsonp方法1. 原理在js中,我们直接用XMLHttpRequest请求不同域上的数据时,是不可以的。但是,在页面上引入不同域上的js脚本文件却是可以的。2. 格式二.使用HTML5中新引进的window.postMessage方法来跨域传送数据1. 获取window对象。 例如:var ...
分类:
编程语言 时间:
2015-07-16 00:46:57
阅读次数:
230
前言 之前简单讲解了利用script标签(jsonp)以及iframe标签(window.name、location.hash)来跨域交换数据,今天我们来学习一下HTML5的api,利用postMessage来跨域交换数据。和前面一些方式交换数据方式不同的是,利用postMessage不能和服务端....
分类:
Web程序 时间:
2015-07-14 17:27:25
阅读次数:
144
本文承接上一篇博文,上一篇博文介绍了跨域的相关概念、测试demo的相关配置和JSONP和CORS两种跨域方式的实现。本文主要介绍document.domain、URL.hash、cross-fragment、window.name和postMessage这五种方式的跨域实现。document.dom...
分类:
其他好文 时间:
2015-07-06 23:07:24
阅读次数:
188
JavaScript由于同源策略的限制,跨域通信一直是棘手的问题。当然解决方案也有很多:document.domain+iframe的设置,应用于主域相同而子域不同;利用iframe和location.hash,数据直接暴露在了url中,数据容量和类型都有限Flash LocalConnection...