问题标签 [postmessage]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2968 浏览

javascript - 使用 postMessage 的 Fancybox / iFrame 位置(跨域)

当用户单击标题区域中的按钮时,我试图获取 iFrame 的位置(在花式框中)。它在不同的域上,所以我使用 postMessage,我希望它获取完整的 url(例如“www.example.com?pid=12345”),所以当使用“尝试搜索”按钮关闭 fancybox 时,我的然后站点可以搜索 pid“12345”。

片段...

这会提醒“你好?” 消息 OK,但 e.origin 返回父域(不是 iFrame 的 url)。如果我 postMessage(this.location, '*') 它是未定义的。

有人可以帮忙吗?

0 投票
2 回答
4793 浏览

c++ - PeekMessage 没有收到消息?

我创建了一个自定义消息类型,用于调整我的Window, 称为WM_NEED_RESIZE. 我已经在我的 .h 文件中定义了它,并在我的 .cpp 文件中进行了初始化。我还注册WindowProc了接受消息的功能。以下是这些项目的代码:

在另一个函数中,我正在运行PeekMessage(..)以收集所有消息。这是消息泵的片段:

我的问题是该WM_NEED_RESIZE消息仅在窗口首次打开时在消息队列中找到一次PeekMessage(..),之后我的. 我真的不确定为什么会这样。但是,它WindowProc(..)方法接收(这对我没有帮助)。我将不胜感激你们可以提供的任何帮助。

谢谢

贾勒特

0 投票
2 回答
5419 浏览

jquery - 在 jQuery 中包装 postMessage

我正在尝试学习 jQuery,我想做一个简单的 postMessage 客户端。是否可以将其包装在 jquery 中?第一个警报有效,但第二个无效。

我正在尝试修改此代码:http ://austinchau.blogspot.com/2008/11/html5-cross-document-messaging.html

编辑:我知道有很多插件可以做到这一点,但我这样做是一个学习过程。

0 投票
1 回答
290 浏览

javascript - jQuery 插件在 ajax 完成回调期间不可用

当用户单击链接时,我正在使用 jQuery fancybox 插件来显示带有有关记录的上下文信息的 iframe。

ajax 成功回调运行时未找到 .fancybox() 插件。类似于以下内容:

当上面的 Widgets 对象是通过检查它之后的断点来定义的时,我可以看出fancybox 已加载并且可用。我还可以通过将 show_dialog 函数包装在一个作用域为 $ 的匿名函数中来修复此函数的调用,如下所示:

更多背景...我正在使用 postMessage jQuery 插件将消息从子框架发送到父框架,如果这很重要(我认为不应该)

谁能解释发生了什么?几乎感觉 $ 在页面执行的后期被重新分配,但我没有在任何地方加载它。

编辑:fancybox 的范围更新为 $('.fancybox').fancybox(

0 投票
4 回答
33220 浏览

javascript - javascript postMessage不工作

我不知道该怎么办。我尝试了来自不同来源的几个示例代码,我在不同的浏览器(从 Chrome 9 到 FF 4)中尝试了它们,但似乎仍然没有任何东西可以与“postMessage”功能一起使用。JS 控制台什么也没给我,没有一个错误,仍然没有发生任何事情:框架不想通信。完全没有。这甚至不是跨域的:两个框架都来自我的域。

这是上次尝试的示例代码:父框架:

子框架:

非常感谢帮助,非常感谢

0 投票
1 回答
2230 浏览

c++ - PostMessage() 成功但我的消息处理代码从未收到消息

在我的 C++ 应用程序的 GUI 对象中,我在主窗口过程中有以下内容:

GUI 对象还具有以下 getMessage() 方法:

应用程序对象通过以下方式调用此方法:

应用程序对象对窗口大小感兴趣,因为它将这些信息存储在配置文件中。

当我在 Visual Studio 的调试器中运行它时,调整窗口大小后输出窗口如下所示:

PostMessage() 函数永远不会失败,但似乎只在第一次处理 WM_SIZE 时发送 GUI_MSG_SIZECHANGED (#defined as WM_APP + 0x000d),也就是在处理 WM_CREATE 之后。

我不知道是什么原因造成的。我尝试使用 SendMessage 和 PostThreadMessage 但结果是一样的。还阅读了 MSDN 的消息处理文档,但找不到我的代码有什么问题。

有人可以帮忙吗?

0 投票
4 回答
1034 浏览

c# - PostMessage 中 lParam(低/高键)的工作值是多少?(赢功能)

我已经看到了 20 个问题(这里是 @stackOverflow)但由于某种原因,我没有得到他们所接近的大部分答案。其他人说他们理解,但在我的案例中我没有看到任何工作代码。

我试图将键发送到游戏(前台窗口)有点像宏,我已经看到lParam如何在:PostMessage(handle, WM_KEYDOWN, (uint)key, 0); 实际上有所作为;根据网络上的人(他们说,但不显示代码/示例)。第一次使用胜利功能,所以我有点迷失如何让它与一些游戏一起工作;比如说“英雄联盟”或“军团要塞 2”。

我知道这是一个额外的参数,作为解释消息的一种方式。但是我如何使它适用于大多数游戏呢?每个游戏的工作方式都不同吗?

在此先感谢,并为我的带有 win 功能的 noobie 主义感到抱歉。

真挚地,

阿曼多·莱昂

0 投票
1 回答
1950 浏览

c# - 如何将对象实例发送到 WndProc

我正在使用描述一些状态和值的自定义类:

由于应用程序架构,表单交互使用消息及其基础结构(SendMessage/PostMessage、WndProc)。问题是 - 如何使用 SendMessage/PostMessage 将 MyClass 的实例发送到 WndProc?在我的代码中,PostMessage 的定义如下:

所以,我需要在我的自定义消息编号下方以某种方式发送和一个 MyClass 实例,所以在 WndProc 中我可以将它用于逻辑需求。这是可能的?

0 投票
1 回答
314 浏览

javascript - 与 HTML5 解决方案通信打开的选项卡

这是我需要的:我在浏览器中打开了一个 index.html。我打开一个新窗口,例如 caller.html。当 caller.html 加载时,它会向 index.html 发送一条消息。

我怎么能用 html5 做到这一点?我在考虑 Sharedworkers 或 Postmessage,但我没有找到可以轻松实现此功能的演示或示例代码。

我不需要跨浏览器和后备解决方案。

0 投票
3 回答
3572 浏览

c# - PostMessage 和 SendMessage WM_SETCURSOR、WM_LBBUTTONDOWN/UP 等都发送 xPox0、yPos0

我正在编写一个 C# 程序来将点击从一个窗口发送到另一个窗口。我正在使用 winapi 中的 SendMessage 和 PostMessage。SendMessage 适用于键盘事件,但是当我尝试使用它发送鼠标事件时,它总是发送鼠标坐标 0,0。我可以使用 spy++ 验证应用程序正在接收事件,但 x 和 y 位于 (0,0) 并且应用程序认为鼠标在屏幕外 NCHITTEST=NOTCLIENT。

代码如下:

PostMessage 声明为:

其中 appWin 是窗口的句柄(使用 spy++ 验证其接收事件)。该窗口根本没有控件。我还尝试了多个宏 MakeLParam、MakeDword、手工完成等。我使用的是 Windows7。

我昨晚/今天早上大部分时间都在试图找到问题,但我一直没能找到。虽然网上有很多关于 Post/SendMessage 的帖子,但我只能找到一个出现类似问题并且没有答案的帖子。

总结问题:有谁知道为什么 SendMessage 会向应用程序窗口发送正确的消息,而不是传递 x 和 y 坐标,因为它总是传递 (0,0)?

谢谢!