jjzjj

postMessage

全部标签

javascript - HTML5 - 跨浏览器 Iframe postmessage - 父子通信

我编写了一个内容脚本,将iframe注入(inject)任何网站(因此不同的域)。我需要父网站向子iframe发送一些信息,但是我找不到实现它的方法。代码vartargetFrame=$('#myIframe')[0];targetFrame.contentWindow.postMessage('themessage','*');不知何故不起作用,我得到一个Cannotcallmethod'postMessage'ofundefined错误。但是当我直接在Chrome的控制台中尝试相同的代码时,它起作用了。尽管从子级向父级发送postMessage没有问题,但只需要一种方式让父级向子级

javascript - 检测postMessage是否可以发送对象?

我正在寻找一种巧妙的方法来检测浏览器中的postMessage是否支持发送和接收对象或仅支持字符串。我想肯定有人写了一些东西可以做到这一点,但我还没有设法找到解决方案。我正在使用postMessage向/从WebWorker发送数据。虽然检测浏览器是否支持worker很简单,但事实证明检测是否可以通过postMessage发送对象更加困难。我想写一个简单的检测函数。所以,如果浏览器支持发送对象就可以使用。如果只允许使用字符串,我可以回退到使用JSON.stringify()。我可能会将该功能分配给dojo/has测试(尽管这与问题/答案无关)。其他人如何解决这个问题?任何建议都很好,我

javascript - 检测postMessage是否可以发送对象?

我正在寻找一种巧妙的方法来检测浏览器中的postMessage是否支持发送和接收对象或仅支持字符串。我想肯定有人写了一些东西可以做到这一点,但我还没有设法找到解决方案。我正在使用postMessage向/从WebWorker发送数据。虽然检测浏览器是否支持worker很简单,但事实证明检测是否可以通过postMessage发送对象更加困难。我想写一个简单的检测函数。所以,如果浏览器支持发送对象就可以使用。如果只允许使用字符串,我可以回退到使用JSON.stringify()。我可能会将该功能分配给dojo/has测试(尽管这与问题/答案无关)。其他人如何解决这个问题?任何建议都很好,我

javascript - webworker本身是多线程的吗?

例如worker.postMessage(data1);worker.postMessage(data2);在webwoker内部,假设有大量问题需要处理,worker.postMessage(data2)是否会在完成data1之前阻塞 最佳答案 单个工作人员在队列中执行其任务,即一次执行一个任务。请尝试以下示例:varworker=newWorker('worker.js');worker.postMessage({task:1,iterations:100});//veryslowtaskworker.postMessage({

javascript - webworker本身是多线程的吗?

例如worker.postMessage(data1);worker.postMessage(data2);在webwoker内部,假设有大量问题需要处理,worker.postMessage(data2)是否会在完成data1之前阻塞 最佳答案 单个工作人员在队列中执行其任务,即一次执行一个任务。请尝试以下示例:varworker=newWorker('worker.js');worker.postMessage({task:1,iterations:100});//veryslowtaskworker.postMessage({

javascript - 从父 iframe 到子 iframe 的跨源通信

我正在处理ThirdPartyJavascript.我对父页面和来自不同来源的子框架之间的通信特别感兴趣。使用window.postMessage,安全地从child发送消息并让parent通过message事件接收消息是微不足道的。我没有运气走另一个方向。我能否得到一些确认,即不能使用postMessage从父级与子级进行通信?如果不是,解决这个问题的方法是什么? 最佳答案 您应该能够在任意两个协作窗口之间使用.postMessage()。您向哪个方向发送消息并不重要。如果它在一个方向上不起作用,则可能是实现过程中出现了错误。您可

javascript - 从父 iframe 到子 iframe 的跨源通信

我正在处理ThirdPartyJavascript.我对父页面和来自不同来源的子框架之间的通信特别感兴趣。使用window.postMessage,安全地从child发送消息并让parent通过message事件接收消息是微不足道的。我没有运气走另一个方向。我能否得到一些确认,即不能使用postMessage从父级与子级进行通信?如果不是,解决这个问题的方法是什么? 最佳答案 您应该能够在任意两个协作窗口之间使用.postMessage()。您向哪个方向发送消息并不重要。如果它在一个方向上不起作用,则可能是实现过程中出现了错误。您可

javascript - Chrome 上 window.postMessage 的问题

我已经坚持了几个小时。我在http://example.com上有一个.html包含带有src的iframeb.htmlhttp://subdomain.example.com.a.html有一些JS代码将消息发布到iframe。postMessage的代码很简单:iframe_window.postMessage('message',iframe_element.src)但这样一来,Chrome就会抛出一个错误:Unabletopostmessagetohttp://subdomain.example.com.Recipienthasoriginnull.我也试过:iframe_wi

javascript - Chrome 上 window.postMessage 的问题

我已经坚持了几个小时。我在http://example.com上有一个.html包含带有src的iframeb.htmlhttp://subdomain.example.com.a.html有一些JS代码将消息发布到iframe。postMessage的代码很简单:iframe_window.postMessage('message',iframe_element.src)但这样一来,Chrome就会抛出一个错误:Unabletopostmessagetohttp://subdomain.example.com.Recipienthasoriginnull.我也试过:iframe_wi

javascript - postMessage 到沙盒 iframe,为什么收件人窗口原点为空?

测试中有2次postMessage调用:1次对targetOrigin使用星号,1次使用父文档和子文档的相同httpsurl。按钮1:$('.iframed')[0].contentWindow.postMessage(messageData,'*');按钮2:$('.iframed')[0].contentWindow.postMessage(messageData,'https://myurl.net');父html文档中的iframe元素,它指向同一域、同一目录中的子html文件:在我单击按钮触发postMessage之前,两个文档都已完全加载。=================