问题标签 [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 回答
4054 浏览

javascript - IE7 有哪些 window.postMessage 仿真选项?

我知道使用哈希标签的黑客攻击,但是,我需要具有更大有效负载和更高吞吐量的双向通信。是否有任何 Flash/ActiveX/etc 选项使这成为可能?

0 投票
2 回答
6374 浏览

winapi - C++ WINAPI:如何使用 SendMessage/PostMessage WM_KEYDOWN lparam

作为低于 VB/VBS 的业余爱好者(C++ WINAPI 对我有经验的人来说是一场噩梦),我不知道如何在 C++ 中为简单的 KEYDOWN 消息构建长 lParam,并且可能花了更多时间寻找体面的解释比值得,有人能够准确地描述如何去做吗?

似乎其他论坛上几乎所有对这个问题的回答都是“为什么”或“改用 SendInput”,而没有真正回答这个问题;我猜它太简单了,人们无法解释。无论如何,这是来自 msdn 的描述,非常感谢一个体面的解释或链接,如果可能的话,还有一个工作示例:

重复计数、扫描码、扩展键标志、上下文代码、前一个键状态标志和转换状态标志,如图所示……

0-15 当前消息的重复计数。该值是由于用户按住键而自动重复击键的次数。如果击键时间足够长,则会发送多条消息。但是,重复计数不是累积的。16-23 扫码。该值取决于 OEM。

24 指示该键是否为扩展键,例如出现在增强型 101 或 102 键键盘上的右手 ALT 和 CTRL 键。如果是扩展键,则值为 1;否则为0。 25-28 保留;不使用

29 上下文代码。如果 ALT 键在按下时按下,则值为 1;如果 WM_SYSKEYDOWN 消息发布到活动窗口,则为 0,因为没有窗口具有键盘焦点。

30 前一个键状态。如果在发送消息之前 key 处于 down 状态,则值为 1,如果 key 处于 up 状态,则值为 0。

31 过渡状态。对于 WM_SYSKEYDOWN 消息,该值始终为 0。

0 投票
3 回答
1921 浏览

javascript - 为什么我的 chrome 扩展不能使用 HTML5 postMessage 与我注入的框架进行通信?

因此,我在 DomainA 上有一个页面,并且使用 Chrome 扩展程序,我正在注入一些 javascript 来插入指向 DomainB 的 iframe。

我还将一些 javascript 注入到 DomainA 中,试图获取 iframe 的 contentWindow。我想在上面使用 HTML5 postMessage api。

但是,contentWindow 属性未定义。为什么会这样,我该如何解决?如果我将此扩展代码放在网页中,它本身就可以正常工作。

谢谢!

(请原谅蹩脚的 jquery/javascript)

0 投票
1 回答
4235 浏览

jquery - jQuery postmessage 不一致

我正在尝试使用Ben Almans jquery postmessage来调整 iFrame 的大小。我或多或少地将他的示例用于不同的服务器和动态内容。

我也向该网站发布了一个问题,但这可能是一个太新手的问题,无法实际回答。

我已经让它作为跨域发送消息,但调整大小不起作用。我只是在这里重新发布我作为托比发布的内容:

我无法让 iFrame 跨浏览器一致地调整大小。这是你遇到的吗?我添加了一个时间戳来了解每个函数何时被调用,这很奇怪......:
- Firefox 工作正常 - 子页面在父页面之前运行。
- Chrome 7 将扩展,而不是缩小。时间戳 = 父级之前的子级
- IE 8...父级在子级之前运行...!每次点击任一链接,iframe 都会增加 30。

有人有这方面的经验吗?

添加我的两个页面以供代码参考:
Parent

孩子

0 投票
1 回答
422 浏览

winapi - 如何在 WinApi/MFC 中设计更简洁的 PostMessage 链

我有一个 MFC GUI 应用程序,它有多个框架(有点像主窗口的 Outlook'ish 行为,以及在新框架中创建的消息/约会窗口,或者像多帧同步的 Skype),我需要 PostMessage malloc'ed 数据通过窗口层次结构。

比如说,我得到了字符串,_wcsdup 它,PostMessage(WM_NEWSTRING, ...),然后,层次结构深处的某个地方的控件处理它,或者如果没有订阅者,则清除消息。

我现在正在研究的是,所有消息都发布到应用程序线程,线程找到活动框架或最适合的框架,将消息传递给它,框架将消息传递给它的视图,视图将消息传递给子视图等等,如果没有视图来处理消息,它会被释放。

问题是这些链接命令写起来很累,因为我必须在我拥有的每个 CWnd 类中复制消息转发代码。同时,资源清理也很不愉快,因为如果没有窗口可以捕获消息,就必须有人调用 free。因此,简单地将消息发布到主消息泵而不进行额外处理,希望有人总是能抓住它,这不是一种有效的方法。PostMessage 返回 S_OK,没有人认为该消息是可处理的,因此它处于悬空状态。

对于我正在寻找的东西,是否有更好、更正确的方法?

0 投票
1 回答
4796 浏览

c# - c# PostMessage 不发送也没有错误

首先,我正在尝试将键盘输入发送到后台应用程序(一个没有焦点或什至可能对用户不可见的窗口)。

我已经验证 winHandle 和常量是正确的。问题是后台应用程序似乎没有收到消息,除非我在 PostMessage() 行设置了一个断点,当它到达那里时按 F10(跳过)或 F5(继续),然后按键神奇地被发送.

是什么赋予了?相关代码:

使用 Win7 64 和 MS Visual Studio 2008 pro,控制台应用程序。如果有帮助,上面的代码就在线程上。

0 投票
1 回答
4244 浏览

php - vimeo / youtube 等如何在其 iframe 中获取引荐来源网址?

对这个主题的大量答案和问题感到困惑。

现在,我接受不允许从 iFrame 跨域访问容器窗口/页面的安全 JS 情况,但在Fragment IdentiferspostMessage API的众多文章中引用的理想解决方案确实令人困惑。

我想做的是复制 vimeo 似乎已经成功的东西;他们新的 iframe 嵌入代码

使用http://a.vimeocdn.com/js/player_combined.opt.js?8ba54并且似乎能够从父加载页面在 iframe 的源中填写引荐来源网址。即 www.donkey.com/myvideo.html 被插入http://player.vimeo.com/video/17263117页面。通常,对于 JS 上的安全块,这对于简单的 parent.location.href 是不可能的。所以,我调查了它,并且一直在疯狂地追逐鹅,以找到如何做到这一点。

我试图了解他们的 JS 并使用 postMessage API,但没有任何东西可以展示。非常欢迎任何指导。

0 投票
1 回答
1770 浏览

javascript - 如何在 JavaScript 中实现 postMessage()?

我需要有关window.postMessage方法的帮助。我正在尝试从父窗口向 iframe 发布消息。

iframe 的名称和 ID 是myFrame,我尝试了以下代码,但无济于事:

0 投票
1 回答
1006 浏览

c# - C#:表单之外的 SendKeys 的替代方法?

我正在尝试使用 keybd events api 将字符串发送到外部应用程序中的文本框控件,但是我并不特别想使用此方法将每个字符发送到字符串,并且会知道 SendKeys 是合适的。

通过 keybd 事件(应用程序快捷方式)发送 Ctrl+L 命令,我在文本框中获得了焦点。

但是,我从一个类中执行此代码,因此 windows.forms 命名空间不适用,我无法访问 SendKeys ...

有没有其他选择?(PostMessage 和 SendMessage 在这里有什么应用吗?)

谢谢!

0 投票
2 回答
9815 浏览

javascript - 如何在 HTML5 中从另一个窗口控制一个窗口?

我试图在 HTML5 中控制另一个窗口。我希望这样,当我打开一个登录的窗口和另一个登录的窗口时,我可以从一个窗口单击一个按钮,然后在另一个窗口中发生一些事情。我不知道从哪里开始;有人可以指出我正确的方向吗?