问题标签 [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 投票
3 回答
5890 浏览

javascript - CORS 对跨域消息传递的好处

CORS和跨域消息传递在我看来是一样的:它们允许跨域通信。

是否有任何理由使用一个与另一个?

0 投票
1 回答
2099 浏览

javascript - 无法让 JQuery postMessage 插件在 IE 上工作

我正在尝试使用这个jQuery postMessage 插件在几个窗口之间传递消息。虽然它在 FF/Chrome 下运行良好,但它似乎在 IE8 和 IE9 下都无法运行。我正在使用的线路是:

在 IE8 中,我收到以下错误消息:

不支持此类接口
jquery.ba-postmessage.js
代码:0
行:112
字符:7

我真的无法弄清楚我做错了什么。我注意到这个库有点过时了(虽然它确实说是在 IE8 上工作),所以我尝试下载据说正在开发的 jquery-1.3.2,但它仍然没有工作。

任何有关如何解决此问题的提示(或可能对具有相同功能的其他跨浏览器库的任何引用)将不胜感激。

0 投票
2 回答
2443 浏览

c# - 从其他应用程序 C# 中获取按键

我想让用户在其他应用程序上按下键。例如,在记事本中,而不是程序本身。这是我使用PostMessage方法将密钥连续发送到记事本的编码,但是,我希望在按下某个键时停止它。

因此,我的想法是设置ControlKeyDownfalse当用户X在记事本中按下键时。通过互联网研究后,我发现了这段代码并进行了编辑:

是的,通过这个,它肯定会停止循环,但这不是我想要的,因为当用户按下X程序上的键而不是记事本时它会停止循环。这是因为KeyEventArgsSystem.Windows.Forms.KeyEventArgs而不是记事本。

需要帮忙 :(

0 投票
1 回答
1899 浏览

delphi - 隐藏组合框按钮 Delphi 而不将样式设置为 csSimple

我试图隐藏从 TComboBox 派生的第三方组件中的下拉按钮。

我尝试将样式设置为 csSimple,但这个解决方案对我不起作用......第三方组件中有代码在各个地方检查 csSimple。我宁愿不更改此代码。

从我从其他帖子中可以看出,其他人建议使用不同的组件,例如文本框,或者用一些东西覆盖下拉箭头以隐藏它。我也想避免这些解决方案。

还有其他方法吗?我在想也许有一种方法可以使用 PostMessage/SendMessage 来做到这一点,但我不知道该作为参数传递什么。

谢谢

0 投票
0 回答
1109 浏览

javascript - Android WebKit 是否支持 postMessage() 进行帧间通信?

我在我们的 javascript 应用程序中使用postMessageandaddEventListener("message", ... , false)进行帧间通信。

当我在 Mobile Safari (iOS / iPad)、Playbook 的 WebKit 和桌面 Chrome 上进行测试时,消息工作并在帧之间成功传输,但在 Galaxy Tab 10.1 上,对 postMessage() 的调用静默失败。不会抛出异常,不会出现错误,并且 postMessage 之后的行永远不会运行。

Android 的 WebKit 是否完全支持 postMessage()?是否有不同的语法或我必须做的事情才能让它工作?

0 投票
2 回答
1342 浏览

javascript - 跨域和 iFrame

我正在尝试一些我真的无法弄清楚的事情。我有一个 iFrame 从另一个我无权访问的域加载一些内容。我“简单地”尝试做的是获取 iFrame 的内容以在 PHP/Javascript 中使用它。这就是我面临“跨域”问题的地方。我无法访问 iFrame 的内容。太令人沮丧了。

因此,我阅读并阅读了更多内容,并了解了 HTML5 提供的“postMessage()”函数。我看到了这个系统的解决方案,但我仍然想不出一点。基本上,它与发送者和侦听器一起工作。所以我需要在 iframe 中有一个监听器,当它被触发时,会将内容发送回主窗口。

但是如何在不删除内容的情况下在已经加载的 iFrame 中添加一些代码?

我真的不需要使用 postMessage(),只要我能得到这个该死的内容,我就可以成为任何人!

任何建议表示赞赏!

谢谢 !

0 投票
0 回答
1383 浏览

javascript - 从 Glype 迁移到 Squid

我有一个使用 Glype 代理的网站。我使用 Glype 在框架中显示远程网站。我开始使用 Glype 是因为我需要一种与框架网站“对话”并确定其大小的方法。为此,我使用 DOM 的 window.postMessage。我用脚本注入框架网站,然后我可以交流。

我最近在整个过程中添加了 Squid 代理。现在我纯粹将它用于缓存手段。Glype 通过 Squid 接收所有网站的内容。

有什么方法可以完全去除 Glype,只使用 Squid?更加具体:

如何通过 Squid 加载帧内容?使用 Squid 将脚本注入框架网站的最合适方法是什么?

顺便说一句,正如我在开头提到的那样。我使用的脚本注入纯粹是为了确定网站的大小。没有其他的。在这个线程中没有邪恶。

我想放弃 Glype 的原因是,尽管它很好,但它通常不能正确显示页面。

谢谢!

0 投票
2 回答
809 浏览

c++ - 如何区分一些 LVITEMS(文件或目录)?

所以我正在使用PostMessage(LVN_INSERTITEM,0,(LPARAM) lvitem). 而且我需要一种方法来区分 lvitem,以便稍后当我得到一个 lvitem 时,可以判断它是文件还是目录。我需要实现 using PostMessage,所以我不确切知道何时插入该项目。我正在动态分配项目(将动态分配的内存指针存储在 LVITEM 结构的 lParam 属性中,因此在插入它之后,我会处理它的通知并取消分配从项目中获取地址的内存)。

0 投票
2 回答
3115 浏览

c# - 用于自动化的 User32 API 自定义 PostMessage

我想从 C# 自动化一个名为 Spotify 的程序,最好的方法(我认为)是通过触发假按键。我想编程暂停播放,但我对这些东西知之甚少,无法找到除按键之外的另一种方式。因此,我使用 Visual Studio 的 Spy++ 来查看按下键盘上的播放按钮时 Spotify 收到的消息,我将该消息中的数据复制到我的控制台应用程序中并运行它,当我运行时,我可以在 Spy++ 的消息日志中看到 PostMessage,所以这是有效的,但它不会暂停/播放我的音乐。我想这是因为我还必须发送另一个带有另一个目的地的 PostMessage,但是我怎么知道还要发送什么?

留言电话:

我希望有人熟悉这个并且可以帮助我。

0 投票
4 回答
35116 浏览

javascript - 具有多个函数或自定义回调的 PostMessage

到目前为止,我只看到过关于 postmessage 的教程,其中一个窗口发送一种消息,而另一个窗口仅以一种方式解释消息。

如果我想在窗口之间进行许多不同类型的交互怎么办,postmessage 可以处理吗?

这是否违背了 postmessage 应该做的事情?

例如,如果我希望能够来回发送自定义回调等怎么办?