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

javascript - Javascript 错误:“没有中继设置”,仅在 IE 7、8 中

我的 javascript 由于收到错误而无法加载,仅在 IE 中。我使用调试器得到以下错误。此页面在 Safari、FF 和 chrome 中正确呈现 javascript,但在 IE 中不正确,并且仅在此类特定页面上。

http://tsqja.deznp.servertrust.com/Lakeside_721_2_Shelf_Heavy_Duty_Utility_Cart_p/lak-721.htm

1)没有中继设置(用作window.postMessage targetOrigin),不能发送跨域消息

2) 无效的论点。jquery.min.js

任何想法第一个错误意味着什么?我已经用最新版本切换了我的 jQuery 版本,它仍然做同样的事情。

更新我已将我的 jquery.min.js 更新到最新版本,我发现这是页面停止加载的地方......在 jquery-latest.min.js 中弹出无效参数后,第 16 行字符 15511 是以下字母“b”:

0 投票
2 回答
5880 浏览

html - 来自同一域的两个 iframe 之间使用 postMessage 进行通信

我有两个来自同一个域的 iframe,它们托管在另一个域的文档中。问题是这些 iframe 无法通过 postMessage 相互通信。我什至无法从 iframe2 访问 iframe1 的 DOM,即使它们属于同一个域。有什么解决办法吗???

我使用以下选项来引用所需的 iframe。

我尝试了以下几行来访问 iframe 的 DOM


更新:

我想我的问题还不够清楚。postMessage api没有问题,实际问题是浏览器围绕iframe文档创建了一个自定义框架集,就我而言!

所以parent.frame[x]不会指向 iframe 窗口,而是指向 iframe 窗口内的自定义框架集。

以下问题很好地解释了这个问题。

阻止浏览器在 iframe 的文档中加载自定义框架集

0 投票
1 回答
1863 浏览

c# - PostMessage 在 Windows 7 x64 中不起作用

我需要在游戏窗口中模拟按键。我尝试发送密钥“A”,但它不起作用:

0 投票
2 回答
87 浏览

iframe - 从同一文档的下一个 iframe 中引用一个 iframe

我有来自同一域的两个 iframe(iframe1iframe2),它们托管在来自不同域的文档中。我如何从iframe2引用iframe1,以便他们可以通过postMessage()进行通信。

0 投票
1 回答
673 浏览

javascript - 我可以将 postMessage 中的源窗口与我的 window.frames 进行比较吗?

我想将框架中的一些信息冒泡到其父对象(由于 XSS 而无法访问的信息)。

我可以将source发送的窗口postMessage与 的值进行比较window.frames吗?

MDN(在上面的链接中)说该消息可用于postMessage支持但不涉及相等性测试。

这在 IE9 FF5 和 Chrome12 上正常工作,但我想知道这是否可靠(即它是否符合标准)。

测试代码:

postMessageOuter.html

postMessageInner.html

0 投票
4 回答
11996 浏览

c++ - SendMessage 与 PostMessage + WaitForSingleObject

我想知道调用 SendMessage(哪个块)和调用 PostMessage 与 WaitForSingleObject 有什么区别。想法?

0 投票
1 回答
405 浏览

javascript - 通过 postMessage 接收消息后打开一个弹出窗口

我的网站上有一个 iframe,它托管在另一个域上。它可以通过 window.postMessage 与主站点通信。我在那个 iframe 上有一个按钮,它调用主域上的 JS 方法,然后触发一个新窗口。

一切看起来都很好,但是由于用户点击事件是在 iframe 域上生成的,并且窗口是在主域上创建的,所以浏览器认为这是一个自动弹出窗口,并且会阻止。

有什么办法可以防止浏览器阻塞窗口吗?

0 投票
4 回答
48426 浏览

c# - C# 使用 PostMessage

我正在尝试向应用程序发送密钥。我测试了使用断点的 Handlewindow 值以了解我在做什么,但我找不到解决方案。更详细地说,它是一个小游戏,当我激活游戏中的聊天栏时,我要发送的密钥将写在那里,但我想让它在我玩游戏时使用命令。游戏没有后卫或一些保护措施。

这是我的代码:

就像我说的,它可以成功发送 1000000 次,但没有任何反应。是否有另一种方法可以将密钥发送到最小化甚至隐藏的 Windows 应用程序?它应该只发送到我的应用程序。

0 投票
2 回答
10144 浏览

c# - 什么可能导致 PostMessage 发送的鼠标点击被忽略?

我正在寻找一种将鼠标点击发送到 Windows 上的后台应用程序的方法(即通过句柄),我用来确认我的代码正在工作的测试窗口接受并处理点击,但我的目标应用程序没有(即使 Spy++显示消息)。

这可能是什么原因造成的?有解决方法吗?

这是我正在使用的 C# 代码。

这有可能实现吗?有没有更好的方法来实现这一点?

注意:当应用程序处于活动状态并且鼠标悬停在正确位置时,上述代码也不起作用。我也在寻找专门将输入发送到后台应用程序,因此 SendInput 和其他人是不可能的。

谢谢

0 投票
2 回答
2209 浏览

javascript - 从外部脚本到 GWT 父级的 postMessage

我刚刚发现使用 html5 的 postMessage 从一个 iframe 到另一个 iframe 进行通信的乐趣。

但是,我遇到的问题是我正在运行一个加载 iframe(带有外部域)的 GWT 应用程序。现在,我想从该外部域向 GWT 应用程序发回一条消息。我天真地第一次尝试:

来自外部脚本,同时在我的 GWT 应用程序中侦听消息事件。这不起作用,因为 GWT 的 javascript 在 iframe 中运行。

我让它工作的方式是:

很好,但如果我决定更改 Gwt 的模块名称怎么办?整个过程会中断,并且在一年内可能需要花费很多时间才能弄清楚为什么......

有没有更好的方法将消息发回 GWT 应用程序?或者,我如何在运行时找出 Gwt 的模块名称是什么?在这种情况下,我可以将它作为参数传递给 iframe。

谢谢你的帮助!