我正在尝试使用此jQuery postMessage plugin在几个窗口之间传递消息。尽管它在FF / Chrome下运行良好,但似乎在IE8和IE9下都无法正常工作。
我正在使用的行是:

$.postMessage('hello world', opener.location.toString(), opener);


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


  不支持这样的接口
  jquery.ba-postmessage.js
  代码:0
  线:112
  字符:7


我真的无法弄清楚我在做什么错。我注意到该库有些过时了(尽管它确实说可以在IE8上运行),所以我尝试下载据说正在使用的jquery-1.3.2,但仍然无法正常工作。

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

最佳答案

这似乎是Internet Explorer的限制。 postMessage仅在同一页面的框架之间起作用,而在窗口或标签之间不起作用。

有关更多信息,请参见:


http://blogs.msdn.com/b/thebeebs/archive/2011/12/21/postmessage-popups-and-ie.aspx
http://blogs.msdn.com/b/ieinternals/archive/2009/09/16/bugs-in-ie8-support-for-html5-postmessage-sessionstorage-and-localstorage.aspx(问题1)

关于javascript - 无法使JQuery postMessage插件在IE上工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8231494/

10-12 16:28